diff --git a/container.go b/container.go index 1977632894..d14fa9634d 100644 --- a/container.go +++ b/container.go @@ -11,7 +11,6 @@ import ( "strings" "time" - "github.com/cpuguy83/dockercfg" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/network" @@ -23,6 +22,7 @@ import ( tcexec "github.com/testcontainers/testcontainers-go/exec" "github.com/testcontainers/testcontainers-go/internal/core" + dockerconfig "github.com/testcontainers/testcontainers-go/internal/docker/config" "github.com/testcontainers/testcontainers-go/log" "github.com/testcontainers/testcontainers-go/wait" ) @@ -390,7 +390,7 @@ func getAuthConfigsFromDockerfile(c *ContainerRequest) (map[string]registry.Auth for _, image := range images { registry, authConfig, err := dockerImageAuth(context.Background(), image, configs) if err != nil { - if !errors.Is(err, dockercfg.ErrCredentialsNotFound) { + if !errors.Is(err, dockerconfig.ErrCredentialsNotFound) { return nil, fmt.Errorf("docker image auth %q: %w", image, err) } diff --git a/docker_auth.go b/docker_auth.go index 58b3ef2637..c6fb40d77c 100644 --- a/docker_auth.go +++ b/docker_auth.go @@ -12,17 +12,17 @@ import ( "os" "sync" - "github.com/cpuguy83/dockercfg" "github.com/docker/docker/api/types/registry" "github.com/testcontainers/testcontainers-go/internal/core" + dockerconfig "github.com/testcontainers/testcontainers-go/internal/docker/config" ) // defaultRegistryFn is variable overwritten in tests to check for behaviour with different default values. var defaultRegistryFn = defaultRegistry -// getRegistryCredentials is a variable overwritten in tests to mock the dockercfg.GetRegistryCredentials function. -var getRegistryCredentials = dockercfg.GetRegistryCredentials +// getRegistryCredentials is a variable overwritten in tests to mock the dockerconfig.GetRegistryCredentials function. +var getRegistryCredentials = dockerconfig.GetRegistryCredentials // DockerImageAuth returns the auth config for the given Docker image, extracting first its Docker registry. // Finally, it will use the credential helpers to extract the information from the docker config file @@ -46,7 +46,7 @@ func dockerImageAuth(ctx context.Context, image string, configs map[string]regis return reg, cfg, nil } - return reg, registry.AuthConfig{}, dockercfg.ErrCredentialsNotFound + return reg, registry.AuthConfig{}, dockerconfig.ErrCredentialsNotFound } func getRegistryAuth(reg string, cfgs map[string]registry.AuthConfig) (registry.AuthConfig, bool) { @@ -160,7 +160,7 @@ func (c *credentialsCache) get(hostname, configKey string) (string, string, erro // configKey returns a key to use for caching credentials based on // the contents of the currently active config. -func configKey(cfg *dockercfg.Config) (string, error) { +func configKey(cfg *dockerconfig.Config) (string, error) { h := md5.New() if err := json.NewEncoder(h).Encode(cfg); err != nil { return "", fmt.Errorf("encode config: %w", err) @@ -172,7 +172,7 @@ func configKey(cfg *dockercfg.Config) (string, error) { // getDockerAuthConfigs returns a map with the auth configs from the docker config file // using the registry as the key func getDockerAuthConfigs() (map[string]registry.AuthConfig, error) { - cfg, err := getDockerConfig() + cfg, err := dockerconfig.Load() if err != nil { if errors.Is(err, os.ErrNotExist) { return map[string]registry.AuthConfig{}, nil @@ -181,7 +181,7 @@ func getDockerAuthConfigs() (map[string]registry.AuthConfig, error) { return nil, err } - key, err := configKey(cfg) + key, err := configKey(&cfg) if err != nil { return nil, err } @@ -192,7 +192,7 @@ func getDockerAuthConfigs() (map[string]registry.AuthConfig, error) { var wg sync.WaitGroup wg.Add(size) for k, v := range cfg.AuthConfigs { - go func(k string, v dockercfg.AuthConfig) { + go func(k string, v dockerconfig.AuthConfig) { defer wg.Done() ac := registry.AuthConfig{ @@ -258,25 +258,3 @@ func getDockerAuthConfigs() (map[string]registry.AuthConfig, error) { return cfgs, nil } - -// getDockerConfig returns the docker config file. It will internally check, in this particular order: -// 1. the DOCKER_AUTH_CONFIG environment variable, unmarshalling it into a dockercfg.Config -// 2. the DOCKER_CONFIG environment variable, as the path to the config file -// 3. else it will load the default config file, which is ~/.docker/config.json -func getDockerConfig() (*dockercfg.Config, error) { - if env := os.Getenv("DOCKER_AUTH_CONFIG"); env != "" { - var cfg dockercfg.Config - if err := json.Unmarshal([]byte(env), &cfg); err != nil { - return nil, fmt.Errorf("unmarshal DOCKER_AUTH_CONFIG: %w", err) - } - - return &cfg, nil - } - - cfg, err := dockercfg.LoadDefaultConfig() - if err != nil { - return nil, fmt.Errorf("load default config: %w", err) - } - - return &cfg, nil -} diff --git a/docker_auth_test.go b/docker_auth_test.go index 17d7d0f505..5bcffd1efa 100644 --- a/docker_auth_test.go +++ b/docker_auth_test.go @@ -7,95 +7,20 @@ import ( "fmt" "net" "os" - "path/filepath" "testing" - "github.com/cpuguy83/dockercfg" "github.com/docker/docker/api/types/image" - "github.com/docker/docker/api/types/registry" "github.com/docker/docker/client" "github.com/stretchr/testify/require" - "github.com/testcontainers/testcontainers-go/internal/core" + dockerconfig "github.com/testcontainers/testcontainers-go/internal/docker/config" "github.com/testcontainers/testcontainers-go/wait" ) const ( - exampleAuth = "https://example-auth.com" - privateRegistry = "https://my.private.registry" - exampleRegistry = "https://example.com" + exampleAuth = "https://example-auth.com" ) -func Test_getDockerConfig(t *testing.T) { - expectedConfig := &dockercfg.Config{ - AuthConfigs: map[string]dockercfg.AuthConfig{ - core.IndexDockerIO: {}, - exampleRegistry: {}, - privateRegistry: {}, - }, - CredentialsStore: "desktop", - } - t.Run("HOME/valid", func(t *testing.T) { - testDockerConfigHome(t, "testdata") - - cfg, err := getDockerConfig() - require.NoError(t, err) - require.Equal(t, expectedConfig, cfg) - }) - - t.Run("HOME/not-found", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-found") - - cfg, err := getDockerConfig() - require.ErrorIs(t, err, os.ErrNotExist) - require.Nil(t, cfg) - }) - - t.Run("HOME/invalid-config", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "invalid-config") - - cfg, err := getDockerConfig() - require.ErrorContains(t, err, "json: cannot unmarshal array") - require.Nil(t, cfg) - }) - - t.Run("DOCKER_AUTH_CONFIG/valid", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-found") - t.Setenv("DOCKER_AUTH_CONFIG", dockerConfig) - - cfg, err := getDockerConfig() - require.NoError(t, err) - require.Equal(t, expectedConfig, cfg) - }) - - t.Run("DOCKER_AUTH_CONFIG/invalid-config", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-found") - t.Setenv("DOCKER_AUTH_CONFIG", `{"auths": []}`) - - cfg, err := getDockerConfig() - require.ErrorContains(t, err, "json: cannot unmarshal array") - require.Nil(t, cfg) - }) - - t.Run("DOCKER_CONFIG/valid", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-found") - t.Setenv("DOCKER_CONFIG", filepath.Join("testdata", ".docker")) - - cfg, err := getDockerConfig() - require.NoError(t, err) - require.Equal(t, expectedConfig, cfg) - }) - - t.Run("DOCKER_CONFIG/invalid-config", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-found") - t.Setenv("DOCKER_CONFIG", filepath.Join("testdata", "invalid-config", ".docker")) - - cfg, err := getDockerConfig() - require.ErrorContains(t, err, "json: cannot unmarshal array") - require.Nil(t, cfg) - }) -} - func TestDockerImageAuth(t *testing.T) { t.Run("retrieve auth with DOCKER_AUTH_CONFIG env var", func(t *testing.T) { username, password := "gopher", "secret" @@ -130,7 +55,7 @@ func TestDockerImageAuth(t *testing.T) { setAuthConfig(t, invalidRegistryURL, "gopher", "secret") registry, cfg, err := DockerImageAuth(context.Background(), imageReg+imagePath) - require.ErrorIs(t, err, dockercfg.ErrCredentialsNotFound) + require.ErrorIs(t, err, dockerconfig.ErrCredentialsNotFound) require.Empty(t, cfg) require.Equal(t, imageReg, registry) }) @@ -150,7 +75,7 @@ func TestDockerImageAuth(t *testing.T) { setAuthConfig(t, "example-auth.com", "gopher", "secret") registry, cfg, err := DockerImageAuth(context.Background(), imageReg+imagePath) - require.ErrorIs(t, err, dockercfg.ErrCredentialsNotFound) + require.ErrorIs(t, err, dockerconfig.ErrCredentialsNotFound) require.Empty(t, cfg) require.Equal(t, imageReg, registry) }) @@ -378,141 +303,3 @@ func localAddress(t *testing.T) string { return localAddr.IP.String() } - -//go:embed testdata/.docker/config.json -var dockerConfig string - -// reset resets the credentials cache. -func (c *credentialsCache) reset() { - c.mtx.Lock() - defer c.mtx.Unlock() - c.entries = make(map[string]credentials) -} - -func Test_getDockerAuthConfigs(t *testing.T) { - t.Run("HOME/valid", func(t *testing.T) { - testDockerConfigHome(t, "testdata") - - requireValidAuthConfig(t) - }) - - t.Run("HOME/not-found", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-exist") - - authConfigs, err := getDockerAuthConfigs() - require.NoError(t, err) - require.NotNil(t, authConfigs) - require.Empty(t, authConfigs) - }) - - t.Run("HOME/invalid-config", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "invalid-config") - - authConfigs, err := getDockerAuthConfigs() - require.ErrorContains(t, err, "json: cannot unmarshal array") - require.Nil(t, authConfigs) - }) - - t.Run("DOCKER_AUTH_CONFIG/valid", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-exist") - t.Setenv("DOCKER_AUTH_CONFIG", dockerConfig) - - requireValidAuthConfig(t) - }) - - t.Run("DOCKER_AUTH_CONFIG/invalid-config", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-exist") - t.Setenv("DOCKER_AUTH_CONFIG", `{"auths": []}`) - - authConfigs, err := getDockerAuthConfigs() - require.ErrorContains(t, err, "json: cannot unmarshal array") - require.Nil(t, authConfigs) - }) - - t.Run("DOCKER_AUTH_CONFIG/identity-token", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-exist") - - // Reset the credentials cache to ensure our mocked method is called. - creds.reset() - - // Mock getRegistryCredentials to return identity-token for index.docker.io. - old := getRegistryCredentials - t.Cleanup(func() { - getRegistryCredentials = old - creds.reset() // Ensure our mocked results aren't cached. - }) - getRegistryCredentials = func(hostname string) (string, string, error) { - switch hostname { - case core.IndexDockerIO: - return "", "identity-token", nil - default: - return "username", "password", nil - } - } - t.Setenv("DOCKER_AUTH_CONFIG", dockerConfig) - - authConfigs, err := getDockerAuthConfigs() - require.NoError(t, err) - require.Equal(t, map[string]registry.AuthConfig{ - core.IndexDockerIO: { - IdentityToken: "identity-token", - }, - privateRegistry: { - Username: "username", - Password: "password", - }, - exampleRegistry: { - Username: "username", - Password: "password", - }, - }, authConfigs) - }) - - t.Run("DOCKER_CONFIG/valid", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-found") - t.Setenv("DOCKER_CONFIG", filepath.Join("testdata", ".docker")) - - requireValidAuthConfig(t) - }) - - t.Run("DOCKER_CONFIG/invalid-config", func(t *testing.T) { - testDockerConfigHome(t, "testdata", "not-found") - t.Setenv("DOCKER_CONFIG", filepath.Join("testdata", "invalid-config", ".docker")) - - cfg, err := getDockerConfig() - require.ErrorContains(t, err, "json: cannot unmarshal array") - require.Nil(t, cfg) - }) -} - -// requireValidAuthConfig checks that the given authConfigs map contains the expected keys. -func requireValidAuthConfig(t *testing.T) { - t.Helper() - - authConfigs, err := getDockerAuthConfigs() - require.NoError(t, err) - - // We can only check the keys as the values are not deterministic as they depend - // on user's environment. - expected := map[string]registry.AuthConfig{ - core.IndexDockerIO: {}, - exampleRegistry: {}, - privateRegistry: {}, - } - for k := range authConfigs { - authConfigs[k] = registry.AuthConfig{} - } - require.Equal(t, expected, authConfigs) -} - -// testDockerConfigHome sets the user's home directory to the given path -// and unsets the DOCKER_CONFIG and DOCKER_AUTH_CONFIG environment variables. -func testDockerConfigHome(t *testing.T, dirs ...string) { - t.Helper() - - dir := filepath.Join(dirs...) - t.Setenv("DOCKER_AUTH_CONFIG", "") - t.Setenv("DOCKER_CONFIG", "") - t.Setenv("HOME", dir) - t.Setenv("USERPROFILE", dir) // Windows -} diff --git a/docs/features/docker_auth.md b/docs/features/docker_auth.md index 6893759b64..a03603fec0 100644 --- a/docs/features/docker_auth.md +++ b/docs/features/docker_auth.md @@ -10,9 +10,6 @@ and retrieve the authentication for a given registry. To achieve it, _Testcontai To understand how the Docker credential helpers work, please refer to the [official documentation](https://docs.docker.com/engine/reference/commandline/login/#credential-helpers). -!!! info - _Testcontainers for Go_ uses [https://github.com/cpuguy83/dockercfg](https://github.com/cpuguy83/dockercfg) to retrieve the authentication from the credential helpers. - _Testcontainers for Go_ will automatically discover the credentials for a given Docker image from the Docker config, as described above. For that, it will extract the Docker registry from the image name, and for that registry will try to locate the authentication in the Docker config, returning an empty string if the registry is not found. As a consequence, all the fields to pass credentials to the container request will be deprecated. ```go diff --git a/examples/nginx/go.mod b/examples/nginx/go.mod index f254e16453..c55328dfd6 100644 --- a/examples/nginx/go.mod +++ b/examples/nginx/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/examples/nginx/go.sum b/examples/nginx/go.sum index 5440d4a0bc..f3fc6f2888 100644 --- a/examples/nginx/go.sum +++ b/examples/nginx/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/generic.go b/generic.go index 9663b03a4d..38ee74fe72 100644 --- a/generic.go +++ b/generic.go @@ -8,6 +8,7 @@ import ( "sync" "github.com/testcontainers/testcontainers-go/internal/core" + dockerconfig "github.com/testcontainers/testcontainers-go/internal/docker/config" "github.com/testcontainers/testcontainers-go/log" ) @@ -80,7 +81,7 @@ func GenericContainer(ctx context.Context, req GenericContainerRequest) (Contain // TODO: Remove this debugging. if strings.Contains(err.Error(), "toomanyrequests") { // Debugging information for rate limiting. - cfg, err := getDockerConfig() + cfg, err := dockerconfig.Load() if err == nil { fmt.Printf("XXX: too many requests: %+v", cfg) } diff --git a/go.mod b/go.mod index 9eab13d8e8..7563962ffe 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,6 @@ require ( dario.cat/mergo v1.0.1 github.com/cenkalti/backoff/v4 v4.2.1 github.com/containerd/platforms v0.2.1 - github.com/cpuguy83/dockercfg v0.3.2 github.com/docker/docker v28.0.1+incompatible github.com/docker/go-connections v0.5.0 github.com/google/uuid v1.6.0 diff --git a/go.sum b/go.sum index 2532068e42..947cff5fbe 100644 --- a/go.sum +++ b/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/internal/docker/config/README.md b/internal/docker/config/README.md new file mode 100644 index 0000000000..ff881b5b90 --- /dev/null +++ b/internal/docker/config/README.md @@ -0,0 +1,8 @@ +### github.com/testcontainers/testcontainers-go/internal/docker/config +Go library to load docker CLI configs, auths, etc. with minimal deps. +So far the only deps are on the stdlib. + +This library is a fork of [github.com/cpuguy83/dockercfg](https://github.com/cpuguy83/dockercfg). + +### Usage +See the [godoc](https://godoc.org/github.com/testcontainers/testcontainers-go/internal/docker/config) for API details. diff --git a/internal/docker/config/auth.go b/internal/docker/config/auth.go new file mode 100644 index 0000000000..ee29d4ec1d --- /dev/null +++ b/internal/docker/config/auth.go @@ -0,0 +1,215 @@ +package config + +import ( + "bytes" + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "io/fs" + "os/exec" + "runtime" + "strings" +) + +// This is used by the docker CLI in cases where an oauth identity token is used. +// In that case the username is stored literally as `` +// When fetching the credentials we check for this value to determine if. +const tokenUsername = "" + +// GetRegistryCredentials gets registry credentials for the passed in registry host. +// +// This will use [Load] to read registry auth details from the config. +// If the config doesn't exist, it will attempt to load registry credentials using the default credential helper for the platform. +func GetRegistryCredentials(hostname string) (string, string, error) { + cfg, err := Load() + if err != nil { + if !errors.Is(err, fs.ErrNotExist) { + return "", "", fmt.Errorf("load default config: %w", err) + } + + return GetCredentialsFromHelper("", hostname) + } + + return cfg.GetRegistryCredentials(hostname) +} + +// ResolveRegistryHost can be used to transform a docker registry host name into what is used for the docker config/cred helpers +// +// This is useful for using with containerd authorizers. +// Naturally this only transforms docker hub URLs. +func ResolveRegistryHost(host string) string { + switch host { + case "index.docker.io", "docker.io", "https://index.docker.io/v1/", "registry-1.docker.io": + return "https://index.docker.io/v1/" + } + return host +} + +// GetRegistryCredentials gets credentials, if any, for the provided hostname. +// +// Hostnames should already be resolved using [ResolveRegistryHost]. +// +// If the returned username string is empty, the password is an identity token. +func (c *Config) GetRegistryCredentials(hostname string) (string, string, error) { + h, ok := c.CredentialHelpers[hostname] + if ok { + return GetCredentialsFromHelper(h, hostname) + } + + if c.CredentialsStore != "" { + username, password, err := GetCredentialsFromHelper(c.CredentialsStore, hostname) + if err != nil { + return "", "", fmt.Errorf("get credentials from store: %w", err) + } + + if username != "" || password != "" { + return username, password, nil + } + } + + auth, ok := c.AuthConfigs[hostname] + if !ok { + return GetCredentialsFromHelper("", hostname) + } + + if auth.IdentityToken != "" { + return "", auth.IdentityToken, nil + } + + if auth.Username != "" && auth.Password != "" { + return auth.Username, auth.Password, nil + } + + return DecodeBase64Auth(auth) +} + +// DecodeBase64Auth decodes the legacy file-based auth storage from the docker CLI. +// It takes the "Auth" filed from AuthConfig and decodes that into a username and password. +// +// If "Auth" is empty, an empty user/pass will be returned, but not an error. +func DecodeBase64Auth(auth AuthConfig) (string, string, error) { + if auth.Auth == "" { + return "", "", nil + } + + decLen := base64.StdEncoding.DecodedLen(len(auth.Auth)) + decoded := make([]byte, decLen) + n, err := base64.StdEncoding.Decode(decoded, []byte(auth.Auth)) + if err != nil { + return "", "", fmt.Errorf("decode auth: %w", err) + } + + decoded = decoded[:n] + + const sep = ":" + user, pass, found := strings.Cut(string(decoded), sep) + if !found { + return "", "", fmt.Errorf("invalid auth: missing %q separator", sep) + } + + return user, pass, nil +} + +// Errors from credential helpers. +var ( + ErrCredentialsNotFound = errors.New("credentials not found in native keychain") + ErrCredentialsMissingServerURL = errors.New("no credentials server URL") +) + +//nolint:gochecknoglobals // These are used to mock exec in tests. +var ( + // execLookPath is a variable that can be used to mock exec.LookPath in tests. + execLookPath = exec.LookPath + // execCommand is a variable that can be used to mock exec.Command in tests. + execCommand = exec.Command +) + +// GetCredentialsFromHelper attempts to lookup credentials from the passed in docker credential helper. +// +// The credential helper should just be the suffix name (no "docker-credential-"). +// If the passed in helper program is empty this will look up the default helper for the platform. +// +// If the credentials are not found, no error is returned, only empty credentials. +// +// Hostnames should already be resolved using [ResolveRegistryHost] +// +// If the username string is empty, the password string is an identity token. +func GetCredentialsFromHelper(helper, hostname string) (string, string, error) { + if helper == "" { + helper, helperErr := getCredentialHelper() + if helperErr != nil { + return "", "", fmt.Errorf("get credential helper: %w", helperErr) + } + + if helper == "" { + return "", "", nil + } + } + + helper = "docker-credential-" + helper + p, err := execLookPath(helper) + if err != nil { + if !errors.Is(err, exec.ErrNotFound) { + return "", "", fmt.Errorf("look up %q: %w", helper, err) + } + + return "", "", nil + } + + var outBuf, errBuf bytes.Buffer + cmd := execCommand(p, "get") + cmd.Stdin = strings.NewReader(hostname) + cmd.Stdout = &outBuf + cmd.Stderr = &errBuf + + if err = cmd.Run(); err != nil { + out := strings.TrimSpace(outBuf.String()) + switch out { + case ErrCredentialsNotFound.Error(): + return "", "", nil + case ErrCredentialsMissingServerURL.Error(): + return "", "", ErrCredentialsMissingServerURL + default: + return "", "", fmt.Errorf("execute %q stdout: %q stderr: %q: %w", + helper, out, strings.TrimSpace(errBuf.String()), err, + ) + } + } + + var creds struct { + Username string `json:"Username"` + Secret string `json:"Secret"` + } + + if err = json.Unmarshal(outBuf.Bytes(), &creds); err != nil { + return "", "", fmt.Errorf("unmarshal credentials from: %q: %w", helper, err) + } + + // When tokenUsername is used, the output is an identity token and the username is garbage. + if creds.Username == tokenUsername { + creds.Username = "" + } + + return creds.Username, creds.Secret, nil +} + +// getCredentialHelper gets the default credential helper name for the current platform. +func getCredentialHelper() (string, error) { + switch runtime.GOOS { + case "linux": + if _, err := exec.LookPath("pass"); err != nil { + if errors.Is(err, exec.ErrNotFound) { + return "secretservice", nil + } + return "", fmt.Errorf(`look up "pass": %w`, err) + } + return "pass", nil + case "darwin": + return "osxkeychain", nil + case "windows": + return "wincred", nil + default: + return "", nil + } +} diff --git a/internal/docker/config/auth_test.go b/internal/docker/config/auth_test.go new file mode 100644 index 0000000000..57f6c1fc5b --- /dev/null +++ b/internal/docker/config/auth_test.go @@ -0,0 +1,232 @@ +package config + +import ( + "encoding/base64" + "errors" + "io" + "os" + "os/exec" + "path/filepath" + "strconv" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestDecodeBase64Auth(t *testing.T) { + for _, tc := range base64TestCases() { + t.Run(tc.name, testBase64Case(tc, func() (string, string, error) { + return DecodeBase64Auth(tc.config) + })) + } +} + +func TestConfig_GetRegistryCredentials(t *testing.T) { + t.Run("from base64 auth", func(t *testing.T) { + for _, tc := range base64TestCases() { + t.Run(tc.name, func(t *testing.T) { + config := Config{ + AuthConfigs: map[string]AuthConfig{ + "some.domain": tc.config, + }, + } + testBase64Case(tc, func() (string, string, error) { + return config.GetRegistryCredentials("some.domain") + })(t) + }) + } + }) +} + +type base64TestCase struct { + name string + config AuthConfig + expUser string + expPass string + expErr bool +} + +func base64TestCases() []base64TestCase { + cases := []base64TestCase{ + {name: "empty"}, + {name: "not base64", expErr: true, config: AuthConfig{Auth: "not base64"}}, + {name: "invalid format", expErr: true, config: AuthConfig{ + Auth: base64.StdEncoding.EncodeToString([]byte("invalid format")), + }}, + {name: "happy case", expUser: "user", expPass: "pass", config: AuthConfig{ + Auth: base64.StdEncoding.EncodeToString([]byte("user:pass")), + }}, + } + + return cases +} + +type testAuthFn func() (string, string, error) + +func testBase64Case(tc base64TestCase, authFn testAuthFn) func(t *testing.T) { + return func(t *testing.T) { + t.Helper() + + u, p, err := authFn() + if tc.expErr { + require.Error(t, err) + } else { + require.NoError(t, err) + } + + require.Equal(t, tc.expUser, u) + require.Equal(t, tc.expPass, p) + } +} + +// validateAuth is a helper function to validate the username and password for a given hostname. +func validateAuth(t *testing.T, hostname, expectedUser, expectedPass string) { + t.Helper() + + username, password, err := GetRegistryCredentials(hostname) + require.NoError(t, err) + require.Equal(t, expectedUser, username) + require.Equal(t, expectedPass, password) +} + +// validateAuthError is a helper function to validate we get an error for the given hostname. +func validateAuthError(t *testing.T, hostname string, expectedErr error) { + t.Helper() + + username, password, err := GetRegistryCredentials(hostname) + require.Error(t, err) + require.Equal(t, expectedErr.Error(), err.Error()) + require.Empty(t, username) + require.Empty(t, password) +} + +// mockExecCommand is a helper function to mock exec.LookPath and exec.Command for testing. +func mockExecCommand(t *testing.T, env ...string) { + t.Helper() + + execLookPath = func(file string) (string, error) { + switch file { + case "docker-credential-helper": + return os.Args[0], nil + case "docker-credential-error": + return "", errors.New("lookup error") + } + + return "", exec.ErrNotFound + } + + execCommand = func(name string, arg ...string) *exec.Cmd { + cmd := exec.Command(name, arg...) + cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1") + cmd.Env = append(cmd.Env, env...) + return cmd + } + + t.Cleanup(func() { + execLookPath = exec.LookPath + execCommand = exec.Command + }) +} + +func TestGetRegistryCredentials(t *testing.T) { + t.Setenv(EnvOverrideDir, filepath.Join("testdata", "credhelpers-config")) + + t.Run("auths/user-pass", func(t *testing.T) { + validateAuth(t, "userpass.io", "user", "pass") + }) + + t.Run("auths/auth", func(t *testing.T) { + validateAuth(t, "auth.io", "auth", "authsecret") + }) + + t.Run("credsStore", func(t *testing.T) { + validateAuth(t, "credstore.io", "", "") + }) + + t.Run("credHelpers/user-pass", func(t *testing.T) { + mockExecCommand(t, `HELPER_STDOUT={"Username":"credhelper","Secret":"credhelpersecret"}`) + validateAuth(t, "helper.io", "credhelper", "credhelpersecret") + }) + + t.Run("credHelpers/token", func(t *testing.T) { + mockExecCommand(t, `HELPER_STDOUT={"Username":"", "Secret":"credhelpersecret"}`) + validateAuth(t, "helper.io", "", "credhelpersecret") + }) + + t.Run("credHelpers/not-found", func(t *testing.T) { + mockExecCommand(t, "HELPER_STDOUT="+ErrCredentialsNotFound.Error(), "HELPER_EXIT_CODE=1") + validateAuth(t, "helper.io", "", "") + }) + + t.Run("credHelpers/missing-url", func(t *testing.T) { + mockExecCommand(t, "HELPER_STDOUT="+ErrCredentialsMissingServerURL.Error(), "HELPER_EXIT_CODE=1") + validateAuthError(t, "helper.io", ErrCredentialsMissingServerURL) + }) + + t.Run("credHelpers/other-error", func(t *testing.T) { + mockExecCommand(t, "HELPER_STDOUT=output", "HELPER_STDERR=my error", "HELPER_EXIT_CODE=10") + expectedErr := errors.New(`execute "docker-credential-helper" stdout: "output" stderr: "my error": exit status 10`) + validateAuthError(t, "helper.io", expectedErr) + }) + + t.Run("credHelpers/lookup-not-found", func(t *testing.T) { + mockExecCommand(t, "HELPER_STDOUT=output", "HELPER_STDERR=my error", "HELPER_EXIT_CODE=10") + validateAuth(t, "other.io", "", "") + }) + + t.Run("credHelpers/lookup-error", func(t *testing.T) { + mockExecCommand(t, "HELPER_STDOUT=output", "HELPER_STDERR=my error", "HELPER_EXIT_CODE=10") + expectedErr := errors.New(`look up "docker-credential-error": lookup error`) + validateAuthError(t, "error.io", expectedErr) + }) + + t.Run("credHelpers/decode-json", func(t *testing.T) { + mockExecCommand(t, "HELPER_STDOUT=bad-json") + expectedErr := errors.New(`unmarshal credentials from: "docker-credential-helper": invalid character 'b' looking for beginning of value`) + validateAuthError(t, "helper.io", expectedErr) + }) + + t.Run("config/not-found", func(t *testing.T) { + t.Setenv(EnvOverrideDir, filepath.Join("testdata", "missing")) + validateAuth(t, "userpass.io", "", "") + }) +} + +// TestMain is hijacked so we can run a test helper which can write +// cleanly to stdout and stderr. +func TestMain(m *testing.M) { + pid := os.Getpid() + if os.Getenv("GO_EXEC_TEST_PID") == "" { + os.Setenv("GO_EXEC_TEST_PID", strconv.Itoa(pid)) + // Run the tests. + os.Exit(m.Run()) + } + + // Run the helper which slurps stdin and writes to stdout and stderr. + if _, err := io.Copy(io.Discard, os.Stdin); err != nil { + if _, err = os.Stderr.WriteString(err.Error()); err != nil { + panic(err) + } + } + + if out := os.Getenv("HELPER_STDOUT"); out != "" { + if _, err := os.Stdout.WriteString(out); err != nil { + panic(err) + } + } + + if out := os.Getenv("HELPER_STDERR"); out != "" { + if _, err := os.Stderr.WriteString(out); err != nil { + panic(err) + } + } + + if code := os.Getenv("HELPER_EXIT_CODE"); code != "" { + code, err := strconv.Atoi(code) + if err != nil { + panic(err) + } + + os.Exit(code) + } +} diff --git a/internal/docker/config/config.go b/internal/docker/config/config.go new file mode 100644 index 0000000000..4ba63b0b6a --- /dev/null +++ b/internal/docker/config/config.go @@ -0,0 +1,16 @@ +package config + +const ( + // EnvOverrideDir is the name of the environment variable that can be + // used to override the location of the client configuration files (~/.docker). + // + // It takes priority over the default. + EnvOverrideDir = "DOCKER_CONFIG" + + // configFileDir is the name of the directory containing the client configuration files + configFileDir = ".docker" + + // configFileName is the name of the client configuration file inside the + // config-directory. + FileName = "config.json" +) diff --git a/internal/docker/config/config_test.go b/internal/docker/config/config_test.go new file mode 100644 index 0000000000..c488a75767 --- /dev/null +++ b/internal/docker/config/config_test.go @@ -0,0 +1,134 @@ +package config + +import ( + _ "embed" + "encoding/json" + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/require" +) + +//go:embed testdata/.docker/config.json +var dockerConfig string + +func TestReadDockerConfig(t *testing.T) { + var expectedConfig Config + err := json.Unmarshal([]byte(dockerConfig), &expectedConfig) + require.NoError(t, err) + + setupDockerConfigs(t, "") + + t.Run("HOME", func(t *testing.T) { + t.Run("valid", func(t *testing.T) { + setupHome(t, "testdata") + + cfg, err := Load() + require.NoError(t, err) + require.Equal(t, expectedConfig, cfg) + }) + + t.Run("not-found", func(t *testing.T) { + setupHome(t, "testdata", "not-found") + + cfg, err := Load() + require.ErrorIs(t, err, os.ErrNotExist) + require.Empty(t, cfg) + }) + + t.Run("invalid-config", func(t *testing.T) { + setupHome(t, "testdata", "invalid-config") + + cfg, err := Load() + require.ErrorContains(t, err, "json: cannot unmarshal array") + require.Empty(t, cfg) + }) + }) + + t.Run("DOCKER_AUTH_CONFIG", func(t *testing.T) { + t.Run("valid", func(t *testing.T) { + setupHome(t, "testdata", "not-found") + t.Setenv("DOCKER_AUTH_CONFIG", dockerConfig) + + cfg, err := Load() + require.NoError(t, err) + require.Equal(t, expectedConfig, cfg) + }) + + t.Run("invalid-config", func(t *testing.T) { + setupHome(t, "testdata", "not-found") + t.Setenv("DOCKER_AUTH_CONFIG", `{"auths": []}`) + + cfg, err := Load() + require.ErrorContains(t, err, "json: cannot unmarshal array") + require.Empty(t, cfg) + }) + }) + + t.Run(EnvOverrideDir, func(t *testing.T) { + t.Run("valid", func(t *testing.T) { + setupHome(t, "testdata", "not-found") + t.Setenv(EnvOverrideDir, filepath.Join("testdata", ".docker")) + + cfg, err := Load() + require.NoError(t, err) + require.Equal(t, expectedConfig, cfg) + }) + + t.Run("invalid-config", func(t *testing.T) { + setupHome(t, "testdata", "not-found") + t.Setenv(EnvOverrideDir, filepath.Join("testdata", "invalid-config", ".docker")) + + cfg, err := Load() + require.ErrorContains(t, err, "json: cannot unmarshal array") + require.Empty(t, cfg) + }) + }) +} + +func TestDir(t *testing.T) { + setupDockerConfigs(t, "") + + t.Run("HOME", func(t *testing.T) { + t.Run("valid", func(t *testing.T) { + tmpDir := t.TempDir() + setupHome(t, tmpDir) + + dir, err := Dir() + require.NoError(t, err) + require.Equal(t, filepath.Join(tmpDir, ".docker"), dir) + }) + }) + + t.Run(EnvOverrideDir, func(t *testing.T) { + t.Run("valid", func(t *testing.T) { + tmpDir := t.TempDir() + setupDockerConfigs(t, tmpDir) + + dir, err := Dir() + require.NoError(t, err) + require.Equal(t, tmpDir, dir) + }) + }) +} + +// setupHome sets the user's home directory to the given path +// and unsets the DOCKER_CONFIG and DOCKER_AUTH_CONFIG environment variables. +func setupHome(t *testing.T, dirs ...string) { + t.Helper() + + dir := filepath.Join(dirs...) + t.Setenv("HOME", dir) + t.Setenv("USERPROFILE", dir) // Windows +} + +// setupHome sets the user's home directory to the given path +// and unsets the DOCKER_CONFIG and DOCKER_AUTH_CONFIG environment variables. +func setupDockerConfigs(t *testing.T, dirs ...string) { + t.Helper() + + dir := filepath.Join(dirs...) + t.Setenv("DOCKER_AUTH_CONFIG", dir) + t.Setenv(EnvOverrideDir, dir) +} diff --git a/internal/docker/config/load.go b/internal/docker/config/load.go new file mode 100644 index 0000000000..ae99e02897 --- /dev/null +++ b/internal/docker/config/load.go @@ -0,0 +1,97 @@ +package config + +import ( + "encoding/json" + "errors" + "fmt" + "os" + "os/user" + "path/filepath" + "runtime" +) + +// getHomeDir returns the home directory of the current user with the help of +// environment variables depending on the target operating system. +// Returned path should be used with "path/filepath" to form new paths. +// +// On non-Windows platforms, it falls back to nss lookups, if the home +// directory cannot be obtained from environment-variables. +// +// If linking statically with cgo enabled against glibc, ensure the +// osusergo build tag is used. +// +// If needing to do nss lookups, do not disable cgo or set osusergo. +// +// getHomeDir is a copy of [pkg/homedir.Get] to prevent adding docker/docker +// as dependency for consumers that only need to read the config-file. +// +// [pkg/homedir.Get]: https://pkg.go.dev/github.com/docker/docker@v26.1.4+incompatible/pkg/homedir#Get +func getHomeDir() string { + home, _ := os.UserHomeDir() + if home == "" && runtime.GOOS != "windows" { + if u, err := user.Current(); err == nil { + return u.HomeDir + } + } + return home +} + +// getConfigLocation returns both the directory and full path for the config file. +// It handles all path resolution logic in one place. +func getConfigLocation() (dir string, configPath string, err error) { + dir = os.Getenv(EnvOverrideDir) + if dir == "" { + home := getHomeDir() + if home == "" { + return "", "", errors.New("user home directory not determined") + } + dir = filepath.Join(home, configFileDir) + } + configPath = filepath.Join(dir, FileName) + + return dir, configPath, nil +} + +// Dir returns the directory the configuration file is stored in. +func Dir() (string, error) { + dir, _, err := getConfigLocation() + return dir, err +} + +// Filepath returns the path to the docker cli config file. +func Filepath() (string, error) { + _, configPath, err := getConfigLocation() + return configPath, err +} + +// Load returns the docker config file. It will internally check, in this particular order: +// 1. the DOCKER_AUTH_CONFIG environment variable, unmarshalling it into a Config +// 2. the DOCKER_CONFIG environment variable, as the path to the config file +// 3. else it will load the default config file, which is ~/.docker/config.json +func Load() (Config, error) { + if env := os.Getenv("DOCKER_AUTH_CONFIG"); env != "" { + var cfg Config + if err := json.Unmarshal([]byte(env), &cfg); err != nil { + return Config{}, fmt.Errorf("unmarshal DOCKER_AUTH_CONFIG: %w", err) + } + return cfg, nil + } + + var cfg Config + p, err := Filepath() + if err != nil { + return cfg, fmt.Errorf("config path: %w", err) + } + + f, err := os.Open(p) + if err != nil { + return cfg, fmt.Errorf("open config: %w", err) + } + defer f.Close() + + if err = json.NewDecoder(f).Decode(&cfg); err != nil { + return cfg, fmt.Errorf("decode config: %w", err) + } + + return cfg, nil +} diff --git a/testdata/.docker/config.json b/internal/docker/config/testdata/.docker/config.json similarity index 98% rename from testdata/.docker/config.json rename to internal/docker/config/testdata/.docker/config.json index af4b84ef1c..5ce110622d 100644 --- a/testdata/.docker/config.json +++ b/internal/docker/config/testdata/.docker/config.json @@ -5,4 +5,4 @@ "https://my.private.registry": {} }, "credsStore": "desktop" -} \ No newline at end of file +} diff --git a/internal/docker/config/testdata/credhelpers-config/config.json b/internal/docker/config/testdata/credhelpers-config/config.json new file mode 100644 index 0000000000..653a253195 --- /dev/null +++ b/internal/docker/config/testdata/credhelpers-config/config.json @@ -0,0 +1,17 @@ +{ + "auths": { + "userpass.io": { + "username": "user", + "password": "pass" + }, + "auth.io": { + "auth": "YXV0aDphdXRoc2VjcmV0" + } + }, + "credHelpers": { + "helper.io": "helper", + "other.io": "other", + "error.io": "error" + }, + "credsStore": "desktop" + } diff --git a/testdata/invalid-config/.docker/config.json b/internal/docker/config/testdata/invalid-config/.docker/config.json similarity index 100% rename from testdata/invalid-config/.docker/config.json rename to internal/docker/config/testdata/invalid-config/.docker/config.json diff --git a/internal/docker/config/types.go b/internal/docker/config/types.go new file mode 100644 index 0000000000..a371575461 --- /dev/null +++ b/internal/docker/config/types.go @@ -0,0 +1,65 @@ +package config + +// Config represents the on disk format of the docker CLI's config file. +type Config struct { + AuthConfigs map[string]AuthConfig `json:"auths"` + HTTPHeaders map[string]string `json:"HttpHeaders,omitempty"` + PsFormat string `json:"psFormat,omitempty"` + ImagesFormat string `json:"imagesFormat,omitempty"` + NetworksFormat string `json:"networksFormat,omitempty"` + PluginsFormat string `json:"pluginsFormat,omitempty"` + VolumesFormat string `json:"volumesFormat,omitempty"` + StatsFormat string `json:"statsFormat,omitempty"` + DetachKeys string `json:"detachKeys,omitempty"` + CredentialsStore string `json:"credsStore,omitempty"` + CredentialHelpers map[string]string `json:"credHelpers,omitempty"` + Filename string `json:"-"` // Note: for internal use only. + ServiceInspectFormat string `json:"serviceInspectFormat,omitempty"` + ServicesFormat string `json:"servicesFormat,omitempty"` + TasksFormat string `json:"tasksFormat,omitempty"` + SecretFormat string `json:"secretFormat,omitempty"` + ConfigFormat string `json:"configFormat,omitempty"` + NodesFormat string `json:"nodesFormat,omitempty"` + PruneFilters []string `json:"pruneFilters,omitempty"` + Proxies map[string]ProxyConfig `json:"proxies,omitempty"` + Experimental string `json:"experimental,omitempty"` + StackOrchestrator string `json:"stackOrchestrator,omitempty"` + Kubernetes *KubernetesConfig `json:"kubernetes,omitempty"` + CurrentContext string `json:"currentContext,omitempty"` + CLIPluginsExtraDirs []string `json:"cliPluginsExtraDirs,omitempty"` + Aliases map[string]string `json:"aliases,omitempty"` +} + +// ProxyConfig contains proxy configuration settings. +type ProxyConfig struct { + HTTPProxy string `json:"httpProxy,omitempty"` + HTTPSProxy string `json:"httpsProxy,omitempty"` + NoProxy string `json:"noProxy,omitempty"` + FTPProxy string `json:"ftpProxy,omitempty"` +} + +// AuthConfig contains authorization information for connecting to a Registry. +type AuthConfig struct { + Username string `json:"username,omitempty"` + Password string `json:"password,omitempty"` + Auth string `json:"auth,omitempty"` + + // Email is an optional value associated with the username. + // This field is deprecated and will be removed in a later + // version of docker. + Email string `json:"email,omitempty"` + + ServerAddress string `json:"serveraddress,omitempty"` + + // IdentityToken is used to authenticate the user and get + // an access token for the registry. + IdentityToken string `json:"identitytoken,omitempty"` + + // RegistryToken is a bearer token to be sent to a registry. + RegistryToken string `json:"registrytoken,omitempty"` +} + +// KubernetesConfig contains Kubernetes orchestrator settings. +type KubernetesConfig struct { + AllNamespaces string `json:"allNamespaces,omitempty"` +} diff --git a/internal/docker/context/README.md b/internal/docker/context/README.md new file mode 100644 index 0000000000..603a160041 --- /dev/null +++ b/internal/docker/context/README.md @@ -0,0 +1,7 @@ +### github.com/testcontainers/testcontainers-go/internal/docker/context +Go library to load docker CLI context. + +This library is extracted from [github.com/docker/cli](https://github.com/docker/cli/blob/master/cli/context/store/metadatastore.go) + +### Usage +See the [godoc](https://godoc.org/github.com/testcontainers/testcontainers-go/internal/docker/context) for API details. diff --git a/internal/docker/context/context.go b/internal/docker/context/context.go new file mode 100644 index 0000000000..34afa3e52b --- /dev/null +++ b/internal/docker/context/context.go @@ -0,0 +1,113 @@ +package context + +// The code in this file has been extracted from https://github.com/docker/cli, +// more especifically from https://github.com/docker/cli/blob/master/cli/context/store/metadatastore.go +// with the goal of not consuming the CLI package and all its dependencies. + +import ( + "fmt" + "os" + "path/filepath" + + "github.com/testcontainers/testcontainers-go/internal/docker/config" + "github.com/testcontainers/testcontainers-go/internal/docker/context/internal" +) + +const ( + // DefaultContextName is the name reserved for the default context (config & env based) + DefaultContextName = "default" + + // EnvOverrideContext is the name of the environment variable that can be + // used to override the context to use. If set, it overrides the context + // that's set in the CLI's configuration file, but takes no effect if the + // "DOCKER_HOST" env-var is set (which takes precedence. + EnvOverrideContext = "DOCKER_CONTEXT" + + // EnvOverrideHost is the name of the environment variable that can be used + // to override the default host to connect to (DefaultDockerHost). + // + // This env-var is read by FromEnv and WithHostFromEnv and when set to a + // non-empty value, takes precedence over the default host (which is platform + // specific), or any host already set. + EnvOverrideHost = "DOCKER_HOST" + + // contextsDir is the name of the directory containing the contexts + contextsDir = "contexts" + + // metadataDir is the name of the directory containing the metadata + metadataDir = "meta" +) + +// ErrDockerHostNotSet is the error returned when the Docker host is not set in the Docker context +var ErrDockerHostNotSet = internal.ErrDockerHostNotSet + +// getContextFromEnv returns the context name from the environment variables. +func getContextFromEnv() string { + if os.Getenv(EnvOverrideHost) != "" { + return DefaultContextName + } + + if ctxName := os.Getenv(EnvOverrideContext); ctxName != "" { + return ctxName + } + + return "" +} + +// Current returns the current context name, based on environment variables +// and the cli configuration file. If no context is explicitly set, it returns +// the default context name. The function may return an error if the configuration +// file exists but cannot be loaded. +// +// The context name is determined in the following order: +// 1. Environment variables +// 2. CLI configuration file's "currentContext" field +// 3. Default context name +func Current() (string, error) { + // Check env vars first (clearer precedence) + if ctx := getContextFromEnv(); ctx != "" { + return ctx, nil + } + + // Then check config + cfg, err := config.Load() + if err != nil { + if os.IsNotExist(err) { + return DefaultContextName, nil + } + return "", fmt.Errorf("load docker config: %w", err) + } + + if cfg.CurrentContext != "" { + return cfg.CurrentContext, nil + } + + return DefaultContextName, nil +} + +// CurrentDockerHost returns the Docker host from the current Docker context. +// For that, it traverses the directory structure of the Docker configuration directory, +// looking for the current context and its Docker endpoint. +func CurrentDockerHost() (string, error) { + current, err := Current() + if err != nil { + return "", fmt.Errorf("current context: %w", err) + } + + metaRoot, err := metaRoot() + if err != nil { + return "", fmt.Errorf("meta root: %w", err) + } + + return internal.ExtractDockerHost(current, metaRoot) +} + +// metaRoot returns the root directory of the Docker context metadata. +func metaRoot() (string, error) { + dir, err := config.Dir() + if err != nil { + return "", fmt.Errorf("docker config dir: %w", err) + } + + return filepath.Join(dir, contextsDir, metadataDir), nil +} diff --git a/internal/docker/context/context_test.go b/internal/docker/context/context_test.go new file mode 100644 index 0000000000..9f39bb89da --- /dev/null +++ b/internal/docker/context/context_test.go @@ -0,0 +1,161 @@ +package context + +import ( + "fmt" + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/testcontainers/testcontainers-go/internal/docker/config" + "github.com/testcontainers/testcontainers-go/internal/docker/context/internal" +) + +func TestCurrent(t *testing.T) { + t.Run("current/1", func(tt *testing.T) { + setupDockerContexts(tt, 1, 3) // current context is context1 + + current, err := Current() + require.NoError(t, err) + require.Equal(t, "context1", current) + }) + + t.Run("current/auth-error", func(tt *testing.T) { + tt.Setenv("DOCKER_AUTH_CONFIG", "invalid-auth-config") + + current, err := Current() + require.Error(t, err) + require.Empty(t, current) + }) + + t.Run("current/override-host", func(tt *testing.T) { + tt.Setenv("DOCKER_HOST", "tcp://127.0.0.1:2") + + current, err := Current() + require.NoError(t, err) + require.Equal(t, DefaultContextName, current) + }) + + t.Run("current/override-context", func(tt *testing.T) { + setupDockerContexts(tt, 1, 3) // current context is context1 + tt.Setenv("DOCKER_CONTEXT", "context2") // override the current context + + current, err := Current() + require.NoError(t, err) + require.Equal(t, "context2", current) + }) + + t.Run("current/empty-context", func(tt *testing.T) { + contextCount := 3 + setupDockerContexts(tt, contextCount+1, contextCount) // current context is the empty one + + current, err := Current() + require.NoError(t, err) + require.Equal(t, DefaultContextName, current) + }) +} + +func TestCurrentDockerHost(t *testing.T) { + t.Run("docker-context/1", func(tt *testing.T) { + setupDockerContexts(tt, 1, 3) // current context is context1 + + host, err := CurrentDockerHost() + require.NoError(t, err) + require.Equal(t, "tcp://127.0.0.1:1", host) // from context1 + }) + + t.Run("docker-context/2", func(tt *testing.T) { + setupDockerContexts(tt, 2, 3) // current context is context2 + + host, err := CurrentDockerHost() + require.NoError(t, err) + require.Equal(t, "tcp://127.0.0.1:2", host) // from context2 + }) + + t.Run("docker-context/not-found", func(tt *testing.T) { + setupDockerContexts(tt, 1, 1) // current context is context1 + + metaRoot, err := metaRoot() + require.NoError(t, err) + + host, err := internal.ExtractDockerHost("context-not-found", metaRoot) + require.Error(t, err) + require.Empty(t, host) + }) +} + +// setupDockerContexts creates a temporary directory structure for testing the Docker context functions. +// It creates the following structure, where $i is the index of the context, starting from 1: +// - $HOME/.docker +// - config.json +// - contexts +// - meta +// - context$i +// - meta.json +// +// The config.json file contains the current context, and the meta.json files contain the metadata for each context. +// It generates the specified number of contexts, setting the current context to the one specified by currentContextIndex. +// Finally it always adds a context with an empty host, to validate the behavior when the host is not set. +// This empty context can be used setting the currentContextIndex to a number greater than contextsCount. +func setupDockerContexts(t *testing.T, currentContextIndex int, contextsCount int) { + t.Helper() + + tmpDir := t.TempDir() + t.Setenv("HOME", tmpDir) + t.Setenv("USERPROFILE", tmpDir) // Windows support + + configDir, err := config.Dir() + require.NoError(t, err) + + tempMkdirAll(t, configDir) + + configJSON := filepath.Join(configDir, config.FileName) + + const baseContext = "context" + + // default config.json with no current context + configBytes := `{"currentContext": ""}` + + if currentContextIndex <= contextsCount { + configBytes = fmt.Sprintf(`{ + "currentContext": "%s%d" +}`, baseContext, currentContextIndex) + } + + err = os.WriteFile(configJSON, []byte(configBytes), 0o644) + require.NoError(t, err) + + metaDir, err := metaRoot() + require.NoError(t, err) + + tempMkdirAll(t, metaDir) + + // first index is 1 + for i := 1; i <= contextsCount; i++ { + createDockerContext(t, metaDir, baseContext, i, fmt.Sprintf("tcp://127.0.0.1:%d", i)) + } + + // add a context with no host + createDockerContext(t, metaDir, baseContext, contextsCount+1, "") +} + +// createDockerContext creates a Docker context with the specified name and host +func createDockerContext(t *testing.T, metaDir, baseContext string, index int, host string) { + t.Helper() + + contextDir := filepath.Join(metaDir, fmt.Sprintf("context%d", index)) + tempMkdirAll(t, contextDir) + + context := fmt.Sprintf(`{"Name":"%s%d","Metadata":{"Description":"Testcontainers Go %d"},"Endpoints":{"docker":{"Host":"%s","SkipTLSVerify":false}}}`, + baseContext, index, index, host) + err := os.WriteFile(filepath.Join(contextDir, "meta.json"), []byte(context), 0o644) + require.NoError(t, err) +} + +func tempMkdirAll(t *testing.T, dir string) { + t.Helper() + + err := os.MkdirAll(dir, 0o755) + require.NoError(t, err) +} diff --git a/internal/docker/context/internal/context.go b/internal/docker/context/internal/context.go new file mode 100644 index 0000000000..96982fa986 --- /dev/null +++ b/internal/docker/context/internal/context.go @@ -0,0 +1,114 @@ +package internal + +import ( + "encoding/json" + "errors" + "fmt" + "os" + "path/filepath" +) + +const metaFile = "meta.json" + +// dockerContext represents the metadata stored for a context +type dockerContext struct { + Description string + Fields map[string]any +} + +// endpoint represents a Docker endpoint configuration +type endpoint struct { + Host string `json:",omitempty"` + SkipTLSVerify bool +} + +// metadata represents a complete context configuration +type metadata struct { + Name string `json:",omitempty"` + Context *dockerContext `json:"metadata,omitempty"` + Endpoints map[string]*endpoint `json:"endpoints,omitempty"` +} + +// store manages Docker context metadata files +type store struct { + root string +} + +// ExtractDockerHost extracts the Docker host from the given Docker context +func ExtractDockerHost(contextName string, metaRoot string) (string, error) { + s := &store{root: metaRoot} + + contexts, err := s.list() + if err != nil { + return "", fmt.Errorf("list contexts: %w", err) + } + + for _, ctx := range contexts { + if ctx.Name == contextName { + ep, ok := ctx.Endpoints["docker"] + if !ok || ep == nil || ep.Host == "" { // Check all conditions that should trigger the error + return "", ErrDockerHostNotSet + } + return ep.Host, nil + } + } + return "", ErrDockerHostNotSet +} + +func (s *store) list() ([]*metadata, error) { + dirs, err := s.findMetadataDirs(s.root) + if err != nil { + if errors.Is(err, os.ErrNotExist) { + return nil, nil + } + return nil, fmt.Errorf("find metadata dirs: %w", err) + } + + var contexts []*metadata + for _, dir := range dirs { + ctx, err := s.load(dir) + if err != nil { + if errors.Is(err, os.ErrNotExist) { + continue + } + return nil, fmt.Errorf("load context %s: %w", dir, err) + } + contexts = append(contexts, ctx) + } + return contexts, nil +} + +func (s *store) load(dir string) (*metadata, error) { + data, err := os.ReadFile(filepath.Join(dir, metaFile)) + if err != nil { + return nil, fmt.Errorf("read metadata: %w", err) + } + + var meta metadata + if err := json.Unmarshal(data, &meta); err != nil { + return nil, fmt.Errorf("parse metadata: %w", err) + } + return &meta, nil +} + +func (s *store) findMetadataDirs(root string) ([]string, error) { + var dirs []string + err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + if err != nil { + return fmt.Errorf("walk: %w", err) + } + if info.IsDir() { + if hasMetaFile(path) { + dirs = append(dirs, path) + return filepath.SkipDir // don't recurse into context dirs + } + } + return nil + }) + return dirs, err +} + +func hasMetaFile(dir string) bool { + info, err := os.Stat(filepath.Join(dir, metaFile)) + return err == nil && !info.IsDir() +} diff --git a/internal/docker/context/internal/context_test.go b/internal/docker/context/internal/context_test.go new file mode 100644 index 0000000000..26a386f494 --- /dev/null +++ b/internal/docker/context/internal/context_test.go @@ -0,0 +1,441 @@ +package internal + +import ( + "encoding/json" + "os" + "path/filepath" + "runtime" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestExtractDockerHost(t *testing.T) { + t.Run("context-found-with-host", func(t *testing.T) { + host := requireDockerHost(t, "test-context", metadata{ + Name: "test-context", + Endpoints: map[string]*endpoint{ + "docker": {Host: "tcp://1.2.3.4:2375"}, + }, + }) + require.Equal(t, "tcp://1.2.3.4:2375", host) + }) + + t.Run("context-found-without-host", func(t *testing.T) { + requireDockerHostError(t, "test-context", metadata{ + Name: "test-context", + Endpoints: map[string]*endpoint{ + "docker": {}, + }, + }, ErrDockerHostNotSet) + }) + + t.Run("context-not-found", func(t *testing.T) { + requireDockerHostError(t, "missing", metadata{ + Name: "other-context", + Endpoints: map[string]*endpoint{ + "docker": {Host: "tcp://1.2.3.4:2375"}, + }, + }, ErrDockerHostNotSet) + }) + + t.Run("nested-context-found", func(t *testing.T) { + host := requireDockerHostInPath(t, "nested-context", "parent/nested-context", metadata{ + Name: "nested-context", + Endpoints: map[string]*endpoint{ + "docker": {Host: "tcp://1.2.3.4:2375"}, + }, + }) + require.Equal(t, "tcp://1.2.3.4:2375", host) + }) +} + +func TestStore_load(t *testing.T) { + t.Run("success", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + want := metadata{ + Name: "test", + Context: &dockerContext{ + Description: "test context", + Fields: map[string]any{"test": true}, + }, + Endpoints: map[string]*endpoint{ + "docker": { + Host: "tcp://localhost:2375", + SkipTLSVerify: true, + }, + }, + } + + contextDir := filepath.Join(tmpDir, "test") + setupTestContext(t, tmpDir, "test", want) + + got, err := s.load(contextDir) + require.NoError(t, err) + require.Equal(t, want.Name, got.Name) + require.Equal(t, want.Context.Description, got.Context.Description) + require.Equal(t, want.Context.Fields, got.Context.Fields) + require.Equal(t, want.Endpoints["docker"].Host, got.Endpoints["docker"].Host) + require.Equal(t, want.Endpoints["docker"].SkipTLSVerify, got.Endpoints["docker"].SkipTLSVerify) + }) + + t.Run("directory-does-not-exist", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + nonExistentDir := filepath.Join(tmpDir, "does-not-exist") + _, err := s.load(nonExistentDir) + require.Error(t, err) + require.ErrorIs(t, err, os.ErrNotExist) + }) + + t.Run("meta-json-does-not-exist", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + contextDir := filepath.Join(tmpDir, "empty") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + + _, err := s.load(contextDir) + require.Error(t, err) + require.ErrorIs(t, err, os.ErrNotExist) + }) + + t.Run("invalid-json", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + contextDir := filepath.Join(tmpDir, "invalid") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + require.NoError(t, os.WriteFile( + filepath.Join(contextDir, metaFile), + []byte("invalid json"), + 0o644, + )) + + _, err := s.load(contextDir) + require.Error(t, err) + require.Contains(t, err.Error(), "parse metadata") + }) + + t.Run("permission-denied", func(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("permission tests not supported on Windows") + return + } + + if os.Getuid() == 0 { + t.Skip("cannot test permission denied as root") + } + + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + contextDir := filepath.Join(tmpDir, "no-access") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + + meta := metadata{ + Name: "test", + Endpoints: map[string]*endpoint{ + "docker": {Host: "tcp://localhost:2375"}, + }, + } + setupTestContext(t, tmpDir, "no-access", meta) + + // Remove read permissions + require.NoError(t, os.Chmod(filepath.Join(contextDir, metaFile), 0o000)) + + _, err := s.load(contextDir) + require.Error(t, err) + require.Contains(t, err.Error(), "permission denied") + }) + + t.Run("windows-file-access-error", func(t *testing.T) { + if runtime.GOOS != "windows" { + t.Skip("Windows-specific test") + return + } + + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + contextDir := filepath.Join(tmpDir, "locked") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + + // Create and lock the file + f, err := os.Create(filepath.Join(contextDir, metaFile)) + require.NoError(t, err) + require.NoError(t, f.Close()) + + // Try to load while file is locked + f2, err := os.OpenFile(filepath.Join(contextDir, metaFile), os.O_RDWR, 0o644) + require.NoError(t, err) + defer f2.Close() + + _, err = s.load(contextDir) + require.Error(t, err) + }) + + t.Run("empty-but-valid-json", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + contextDir := filepath.Join(tmpDir, "empty") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + require.NoError(t, os.WriteFile( + filepath.Join(contextDir, metaFile), + []byte("{}"), + 0o644, + )) + + got, err := s.load(contextDir) + require.NoError(t, err) + require.Empty(t, got.Name) + require.Nil(t, got.Context) + require.Empty(t, got.Endpoints) + }) + + t.Run("partial-metadata", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + contextDir := filepath.Join(tmpDir, "partial") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + + // Only name and docker endpoint, no context metadata + meta := metadata{ + Name: "test", + Endpoints: map[string]*endpoint{ + "docker": {Host: "tcp://localhost:2375"}, + }, + } + setupTestContext(t, tmpDir, "partial", meta) + + got, err := s.load(contextDir) + require.NoError(t, err) + require.Equal(t, "test", got.Name) + require.Nil(t, got.Context) + require.Equal(t, "tcp://localhost:2375", got.Endpoints["docker"].Host) + }) +} + +func TestStore_list(t *testing.T) { + t.Run("success", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + // Setup test contexts + contexts := map[string]metadata{ + "context1": { + Name: "context1", + Endpoints: map[string]*endpoint{ + "docker": {Host: "tcp://1.2.3.4:2375"}, + }, + }, + "nested/context2": { + Name: "context2", + Endpoints: map[string]*endpoint{ + "docker": {Host: "unix:///var/run/docker.sock"}, + }, + }, + } + + for path, meta := range contexts { + setupTestContext(t, tmpDir, path, meta) + } + + list, err := s.list() + require.NoError(t, err) + require.Len(t, list, 2) + }) + + t.Run("root-does-not-exist", func(t *testing.T) { + tmpDir := t.TempDir() + nonExistentDir := filepath.Join(tmpDir, "does-not-exist") + s := &store{root: nonExistentDir} + + list, err := s.list() + require.NoError(t, err) // Should return empty list, not error + require.Empty(t, list) + }) + + t.Run("corrupted-metadata-file", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + // Create a context directory with invalid JSON + contextDir := filepath.Join(tmpDir, "invalid") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + require.NoError(t, os.WriteFile( + filepath.Join(contextDir, metaFile), + []byte("invalid json"), + 0o644, + )) + + _, err := s.list() + require.Error(t, err) + require.Contains(t, err.Error(), "parse metadata") + }) + + t.Run("mixed-valid-and-invalid-contexts", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + // Setup one valid context + validMeta := metadata{ + Name: "valid", + Endpoints: map[string]*endpoint{ + "docker": {Host: "tcp://1.2.3.4:2375"}, + }, + } + setupTestContext(t, tmpDir, "valid", validMeta) + + // Setup an invalid context + invalidDir := filepath.Join(tmpDir, "invalid") + require.NoError(t, os.MkdirAll(invalidDir, 0o755)) + require.NoError(t, os.WriteFile( + filepath.Join(invalidDir, metaFile), + []byte("invalid json"), + 0o644, + )) + + _, err := s.list() + require.Error(t, err) + require.Contains(t, err.Error(), "parse metadata") + }) + + t.Run("permission-denied", func(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("permission tests not supported on Windows") + return + } + + if os.Getuid() == 0 { + t.Skip("cannot test permission denied as root") + } + + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + // Create a context with no read permissions + contextDir := filepath.Join(tmpDir, "no-access") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + + meta := metadata{ + Name: "test", + Endpoints: map[string]*endpoint{ + "docker": {Host: "tcp://1.2.3.4:2375"}, + }, + } + setupTestContext(t, tmpDir, "no-access", meta) + + // Remove read permissions + require.NoError(t, os.Chmod(filepath.Join(contextDir, metaFile), 0o000)) + + list, err := s.list() + require.Error(t, err) + require.Contains(t, err.Error(), "permission denied") + require.Empty(t, list) + }) + + t.Run("windows-file-access-error", func(t *testing.T) { + if runtime.GOOS != "windows" { + t.Skip("Windows-specific test") + return + } + + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + contextDir := filepath.Join(tmpDir, "locked") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + + // Create and lock the file + f, err := os.Create(filepath.Join(contextDir, metaFile)) + require.NoError(t, err) + require.NoError(t, f.Close()) + + // Try to list while file is locked + f2, err := os.OpenFile(filepath.Join(contextDir, metaFile), os.O_RDWR, 0o644) + require.NoError(t, err) + defer f2.Close() + + list, err := s.list() + require.Error(t, err) + require.Empty(t, list) + }) + + t.Run("empty-but-valid-context-file", func(t *testing.T) { + tmpDir := t.TempDir() + s := &store{root: tmpDir} + + // Create a context with empty but valid JSON + contextDir := filepath.Join(tmpDir, "empty") + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + require.NoError(t, os.WriteFile( + filepath.Join(contextDir, metaFile), + []byte("{}"), + 0o644, + )) + + list, err := s.list() + require.NoError(t, err) + require.Len(t, list, 1) + require.Empty(t, list[0].Name) + require.Empty(t, list[0].Endpoints) + }) +} + +// requireDockerHost creates a context and verifies host extraction succeeds +func requireDockerHost(t *testing.T, contextName string, meta metadata) string { + t.Helper() + tmpDir := t.TempDir() + + setupTestContext(t, tmpDir, contextName, meta) + + host, err := ExtractDockerHost(contextName, tmpDir) + require.NoError(t, err) + return host +} + +// requireDockerHostInPath creates a context at a specific path and verifies host extraction +func requireDockerHostInPath(t *testing.T, contextName, path string, meta metadata) string { + t.Helper() + tmpDir := t.TempDir() + + setupTestContext(t, tmpDir, path, meta) + + host, err := ExtractDockerHost(contextName, tmpDir) + require.NoError(t, err) + return host +} + +// requireDockerHostError creates a context and verifies expected error +func requireDockerHostError(t *testing.T, contextName string, meta metadata, wantErr error) { + t.Helper() + tmpDir := t.TempDir() + + setupTestContext(t, tmpDir, contextName, meta) + + _, err := ExtractDockerHost(contextName, tmpDir) + require.ErrorIs(t, err, wantErr) +} + +// setupTestContext creates a test context file in the specified location +func setupTestContext(t *testing.T, root, relPath string, meta metadata) { + t.Helper() + + contextDir := filepath.Join(root, relPath) + require.NoError(t, os.MkdirAll(contextDir, 0o755)) + + data, err := json.Marshal(meta) + require.NoError(t, err) + + require.NoError(t, os.WriteFile( + filepath.Join(contextDir, metaFile), + data, + 0o644, + )) +} diff --git a/internal/docker/context/internal/errors.go b/internal/docker/context/internal/errors.go new file mode 100644 index 0000000000..479bdc3e74 --- /dev/null +++ b/internal/docker/context/internal/errors.go @@ -0,0 +1,5 @@ +package internal + +import "errors" + +var ErrDockerHostNotSet = errors.New("docker host not set in Docker context") diff --git a/modules/aerospike/go.mod b/modules/aerospike/go.mod index cebd9b8c38..0b427a3356 100644 --- a/modules/aerospike/go.mod +++ b/modules/aerospike/go.mod @@ -15,7 +15,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/aerospike/go.sum b/modules/aerospike/go.sum index 0a666ee8dc..6662dc434a 100644 --- a/modules/aerospike/go.sum +++ b/modules/aerospike/go.sum @@ -14,8 +14,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/arangodb/go.mod b/modules/arangodb/go.mod index f6dc209545..a513981802 100644 --- a/modules/arangodb/go.mod +++ b/modules/arangodb/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dchest/siphash v1.2.3 // indirect github.com/distribution/reference v0.6.0 // indirect diff --git a/modules/arangodb/go.sum b/modules/arangodb/go.sum index 4181dc1eb0..0257b6729c 100644 --- a/modules/arangodb/go.sum +++ b/modules/arangodb/go.sum @@ -17,8 +17,6 @@ github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3 github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/artemis/go.mod b/modules/artemis/go.mod index 0d61bb74ce..56714dceb9 100644 --- a/modules/artemis/go.mod +++ b/modules/artemis/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/artemis/go.sum b/modules/artemis/go.sum index a6d05c5c77..94c393a805 100644 --- a/modules/artemis/go.sum +++ b/modules/artemis/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/azure/go.mod b/modules/azure/go.mod index 2310e386f5..9462282b64 100644 --- a/modules/azure/go.mod +++ b/modules/azure/go.mod @@ -25,7 +25,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/azure/go.sum b/modules/azure/go.sum index 9b41afd9f4..83f1d84da4 100644 --- a/modules/azure/go.sum +++ b/modules/azure/go.sum @@ -38,8 +38,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/azurite/go.mod b/modules/azurite/go.mod index bcf9a6a7b6..4709ffddc2 100644 --- a/modules/azurite/go.mod +++ b/modules/azurite/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/azurite/go.sum b/modules/azurite/go.sum index 50f0d08486..cc62b9d4da 100644 --- a/modules/azurite/go.sum +++ b/modules/azurite/go.sum @@ -22,8 +22,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/cassandra/go.mod b/modules/cassandra/go.mod index 072ef37efd..27c78c01ac 100644 --- a/modules/cassandra/go.mod +++ b/modules/cassandra/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/cassandra/go.sum b/modules/cassandra/go.sum index 70e9828612..2bdd6dd62b 100644 --- a/modules/cassandra/go.sum +++ b/modules/cassandra/go.sum @@ -16,8 +16,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/chroma/go.mod b/modules/chroma/go.mod index 608b4465d8..9a0d8bb25a 100644 --- a/modules/chroma/go.mod +++ b/modules/chroma/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/chroma/go.sum b/modules/chroma/go.sum index 1281ef948e..91f951e689 100644 --- a/modules/chroma/go.sum +++ b/modules/chroma/go.sum @@ -16,8 +16,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/clickhouse/go.mod b/modules/clickhouse/go.mod index 93ee64c773..44a4614c6b 100644 --- a/modules/clickhouse/go.mod +++ b/modules/clickhouse/go.mod @@ -20,7 +20,6 @@ require ( github.com/andybalholm/brotli v1.1.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.4+incompatible // indirect diff --git a/modules/clickhouse/go.sum b/modules/clickhouse/go.sum index 6122fff324..adf5a62720 100644 --- a/modules/clickhouse/go.sum +++ b/modules/clickhouse/go.sum @@ -18,8 +18,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/cockroachdb/go.mod b/modules/cockroachdb/go.mod index 0a600b1939..ae91a6fdbd 100644 --- a/modules/cockroachdb/go.mod +++ b/modules/cockroachdb/go.mod @@ -24,7 +24,6 @@ require ( github.com/Microsoft/go-winio v0.6.2 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/cockroachdb/go.sum b/modules/cockroachdb/go.sum index be57ad69a0..63f7003528 100644 --- a/modules/cockroachdb/go.sum +++ b/modules/cockroachdb/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/compose/go.mod b/modules/compose/go.mod index e097e65571..0384b7ce67 100644 --- a/modules/compose/go.mod +++ b/modules/compose/go.mod @@ -53,7 +53,6 @@ require ( github.com/containerd/platforms v1.0.0-rc.1 // indirect github.com/containerd/ttrpc v1.2.7 // indirect github.com/containerd/typeurl/v2 v2.2.3 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/buildx v0.22.0 // indirect diff --git a/modules/compose/go.sum b/modules/compose/go.sum index 91e63630dc..81089ca1d3 100644 --- a/modules/compose/go.sum +++ b/modules/compose/go.sum @@ -116,8 +116,6 @@ github.com/containerd/ttrpc v1.2.7 h1:qIrroQvuOL9HQ1X6KHe2ohc7p+HP/0VE6XPU7elJRq github.com/containerd/ttrpc v1.2.7/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= github.com/containerd/typeurl/v2 v2.2.3 h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40= github.com/containerd/typeurl/v2 v2.2.3/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= -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/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= diff --git a/modules/consul/go.mod b/modules/consul/go.mod index 387b05d92e..c1bdf6102a 100644 --- a/modules/consul/go.mod +++ b/modules/consul/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/consul/go.sum b/modules/consul/go.sum index 50f3cf0f07..f6b4ef7ae1 100644 --- a/modules/consul/go.sum +++ b/modules/consul/go.sum @@ -30,8 +30,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/couchbase/go.mod b/modules/couchbase/go.mod index be0d4df297..b1b8f8a8c7 100644 --- a/modules/couchbase/go.mod +++ b/modules/couchbase/go.mod @@ -23,7 +23,6 @@ require ( github.com/couchbase/gocbcoreps v0.1.2 // indirect github.com/couchbase/goprotostellar v1.0.2 // indirect github.com/couchbaselabs/gocbconnstr/v2 v2.0.0-20230515165046-68b522a21131 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/couchbase/go.sum b/modules/couchbase/go.sum index 1e8a16534e..888c687bb9 100644 --- a/modules/couchbase/go.sum +++ b/modules/couchbase/go.sum @@ -31,8 +31,6 @@ github.com/couchbaselabs/gocaves/client v0.0.0-20230404095311-05e3ba4f0259 h1:2T github.com/couchbaselabs/gocaves/client v0.0.0-20230404095311-05e3ba4f0259/go.mod h1:AVekAZwIY2stsJOMWLAS/0uA/+qdp7pjO8EHnl61QkY= github.com/couchbaselabs/gocbconnstr/v2 v2.0.0-20230515165046-68b522a21131 h1:2EAfFswAfgYn3a05DVcegiw6DgMgn1Mv5eGz6IHt1Cw= github.com/couchbaselabs/gocbconnstr/v2 v2.0.0-20230515165046-68b522a21131/go.mod h1:o7T431UOfFVHDNvMBUmUxpHnhivwv7BziUao/nMl81E= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/databend/go.mod b/modules/databend/go.mod index 42d415fefa..4b78057913 100644 --- a/modules/databend/go.mod +++ b/modules/databend/go.mod @@ -19,7 +19,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/databend/go.sum b/modules/databend/go.sum index 02b61af6cb..80b579da80 100644 --- a/modules/databend/go.sum +++ b/modules/databend/go.sum @@ -16,8 +16,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/datafuselabs/databend-go v0.7.0 h1:wPND9I8r/FfcY/nAPo8yeZbh5PMga3ICSDIaq8/eP3o= diff --git a/modules/dind/go.mod b/modules/dind/go.mod index be58f00562..88eed18b07 100644 --- a/modules/dind/go.mod +++ b/modules/dind/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.5.0 // indirect diff --git a/modules/dind/go.sum b/modules/dind/go.sum index 7ceba8d188..49ec990e57 100644 --- a/modules/dind/go.sum +++ b/modules/dind/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/dolt/go.mod b/modules/dolt/go.mod index 81b7744d34..63b35e4475 100644 --- a/modules/dolt/go.mod +++ b/modules/dolt/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/dolt/go.sum b/modules/dolt/go.sum index 8a52657b23..da8d361975 100644 --- a/modules/dolt/go.sum +++ b/modules/dolt/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/dynamodb/go.mod b/modules/dynamodb/go.mod index 6ed07fe976..52c0244dbe 100644 --- a/modules/dynamodb/go.mod +++ b/modules/dynamodb/go.mod @@ -31,7 +31,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/dynamodb/go.sum b/modules/dynamodb/go.sum index 641d8d8e82..0a6d777c88 100644 --- a/modules/dynamodb/go.sum +++ b/modules/dynamodb/go.sum @@ -42,8 +42,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/elasticsearch/go.mod b/modules/elasticsearch/go.mod index 9b170c51e1..25d974545e 100644 --- a/modules/elasticsearch/go.mod +++ b/modules/elasticsearch/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/elasticsearch/go.sum b/modules/elasticsearch/go.sum index 098190cf75..69fd81800f 100644 --- a/modules/elasticsearch/go.sum +++ b/modules/elasticsearch/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/etcd/go.mod b/modules/etcd/go.mod index e71c0b8475..5232727efd 100644 --- a/modules/etcd/go.mod +++ b/modules/etcd/go.mod @@ -20,7 +20,6 @@ require ( github.com/containerd/platforms v0.2.1 // indirect github.com/coreos/go-semver v0.3.0 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.5.0 // indirect diff --git a/modules/etcd/go.sum b/modules/etcd/go.sum index c0826051bb..78a55a2f24 100644 --- a/modules/etcd/go.sum +++ b/modules/etcd/go.sum @@ -16,8 +16,6 @@ github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmf github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/gcloud/go.mod b/modules/gcloud/go.mod index f5cd8b0d69..ae0b8d7f56 100644 --- a/modules/gcloud/go.mod +++ b/modules/gcloud/go.mod @@ -34,7 +34,6 @@ require ( github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/gcloud/go.sum b/modules/gcloud/go.sum index 4d7754ce4a..16f870411b 100644 --- a/modules/gcloud/go.sum +++ b/modules/gcloud/go.sum @@ -53,8 +53,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/grafana-lgtm/go.mod b/modules/grafana-lgtm/go.mod index cb6340fa79..84c834672d 100644 --- a/modules/grafana-lgtm/go.mod +++ b/modules/grafana-lgtm/go.mod @@ -33,7 +33,6 @@ require ( github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/grafana-lgtm/go.sum b/modules/grafana-lgtm/go.sum index 6e257ea9d9..e379d27fd2 100644 --- a/modules/grafana-lgtm/go.sum +++ b/modules/grafana-lgtm/go.sum @@ -16,8 +16,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/inbucket/go.mod b/modules/inbucket/go.mod index 0523459af4..3a7f28150c 100644 --- a/modules/inbucket/go.mod +++ b/modules/inbucket/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/inbucket/go.sum b/modules/inbucket/go.sum index 2ecd612aad..fd666855d5 100644 --- a/modules/inbucket/go.sum +++ b/modules/inbucket/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/influxdb/go.mod b/modules/influxdb/go.mod index 7957768fe0..48af8be139 100644 --- a/modules/influxdb/go.mod +++ b/modules/influxdb/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/influxdb/go.sum b/modules/influxdb/go.sum index 0c95e942e3..961d5e486e 100644 --- a/modules/influxdb/go.sum +++ b/modules/influxdb/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/k3s/go.mod b/modules/k3s/go.mod index 6ee11739c5..a982fdf2f7 100644 --- a/modules/k3s/go.mod +++ b/modules/k3s/go.mod @@ -22,7 +22,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-units v0.5.0 // indirect diff --git a/modules/k3s/go.sum b/modules/k3s/go.sum index 5c9bef3fa9..bf65c96f93 100644 --- a/modules/k3s/go.sum +++ b/modules/k3s/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= diff --git a/modules/k6/go.mod b/modules/k6/go.mod index dc11294a6a..79624b049d 100644 --- a/modules/k6/go.mod +++ b/modules/k6/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.5.0 // indirect diff --git a/modules/k6/go.sum b/modules/k6/go.sum index 5440d4a0bc..f3fc6f2888 100644 --- a/modules/k6/go.sum +++ b/modules/k6/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/kafka/go.mod b/modules/kafka/go.mod index 06d2ff70ac..dd0ee12b16 100644 --- a/modules/kafka/go.mod +++ b/modules/kafka/go.mod @@ -19,7 +19,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/kafka/go.sum b/modules/kafka/go.sum index 8271c9478c..0eb4c5c2d6 100644 --- a/modules/kafka/go.sum +++ b/modules/kafka/go.sum @@ -14,8 +14,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/localstack/go.mod b/modules/localstack/go.mod index 3dae8ae957..4a477b266b 100644 --- a/modules/localstack/go.mod +++ b/modules/localstack/go.mod @@ -38,7 +38,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-units v0.5.0 // indirect diff --git a/modules/localstack/go.sum b/modules/localstack/go.sum index 05cba57b20..c58a571515 100644 --- a/modules/localstack/go.sum +++ b/modules/localstack/go.sum @@ -50,8 +50,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/mariadb/go.mod b/modules/mariadb/go.mod index ac3d5220c3..e2512b9d78 100644 --- a/modules/mariadb/go.mod +++ b/modules/mariadb/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/mariadb/go.sum b/modules/mariadb/go.sum index 8a52657b23..da8d361975 100644 --- a/modules/mariadb/go.sum +++ b/modules/mariadb/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/meilisearch/go.mod b/modules/meilisearch/go.mod index 65b17dfac3..b67901a8ed 100644 --- a/modules/meilisearch/go.mod +++ b/modules/meilisearch/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/meilisearch/go.sum b/modules/meilisearch/go.sum index 2b69187892..98d5dbccf4 100644 --- a/modules/meilisearch/go.sum +++ b/modules/meilisearch/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/milvus/go.mod b/modules/milvus/go.mod index 79f9876ce6..7fb165bc62 100644 --- a/modules/milvus/go.mod +++ b/modules/milvus/go.mod @@ -20,7 +20,6 @@ require ( github.com/cockroachdb/redact v1.1.3 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/milvus/go.sum b/modules/milvus/go.sum index 3b9deb4f1a..b987f53784 100644 --- a/modules/milvus/go.sum +++ b/modules/milvus/go.sum @@ -37,8 +37,6 @@ github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7np github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -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/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= diff --git a/modules/minio/go.mod b/modules/minio/go.mod index 918d41f356..f600aed9ca 100644 --- a/modules/minio/go.mod +++ b/modules/minio/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/minio/go.sum b/modules/minio/go.sum index 33ddf33cb6..b0e7656d35 100644 --- a/modules/minio/go.sum +++ b/modules/minio/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/mockserver/go.mod b/modules/mockserver/go.mod index c0278525de..dbe48d1670 100644 --- a/modules/mockserver/go.mod +++ b/modules/mockserver/go.mod @@ -16,7 +16,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/mockserver/go.sum b/modules/mockserver/go.sum index a4d77be826..1f6abe5248 100644 --- a/modules/mockserver/go.sum +++ b/modules/mockserver/go.sum @@ -14,8 +14,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/mongodb/go.mod b/modules/mongodb/go.mod index bd2585b8e2..b5f2f20b58 100644 --- a/modules/mongodb/go.mod +++ b/modules/mongodb/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/mongodb/go.sum b/modules/mongodb/go.sum index 7d3e647822..98178a332a 100644 --- a/modules/mongodb/go.sum +++ b/modules/mongodb/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/mssql/go.mod b/modules/mssql/go.mod index 69e6088419..e96299a54d 100644 --- a/modules/mssql/go.mod +++ b/modules/mssql/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/mssql/go.sum b/modules/mssql/go.sum index bc6328ddf4..beffd5b5c5 100644 --- a/modules/mssql/go.sum +++ b/modules/mssql/go.sum @@ -24,8 +24,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/mysql/go.mod b/modules/mysql/go.mod index fece54a3a5..0488143667 100644 --- a/modules/mysql/go.mod +++ b/modules/mysql/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/mysql/go.sum b/modules/mysql/go.sum index 8a52657b23..da8d361975 100644 --- a/modules/mysql/go.sum +++ b/modules/mysql/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/nats/go.mod b/modules/nats/go.mod index df6262587d..19ec69bd70 100644 --- a/modules/nats/go.mod +++ b/modules/nats/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/nats/go.sum b/modules/nats/go.sum index 3a1f189b8e..550d581b5a 100644 --- a/modules/nats/go.sum +++ b/modules/nats/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/neo4j/go.mod b/modules/neo4j/go.mod index 65254e2bfc..b460bfed24 100644 --- a/modules/neo4j/go.mod +++ b/modules/neo4j/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/neo4j/go.sum b/modules/neo4j/go.sum index 8127edbba5..9ba9d2d6df 100644 --- a/modules/neo4j/go.sum +++ b/modules/neo4j/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/ollama/go.mod b/modules/ollama/go.mod index 15560a9bec..03fe5ecebf 100644 --- a/modules/ollama/go.mod +++ b/modules/ollama/go.mod @@ -21,7 +21,6 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v1.0.0-rc.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/dlclark/regexp2 v1.8.1 // indirect diff --git a/modules/ollama/go.sum b/modules/ollama/go.sum index 080856d169..234e798cc6 100644 --- a/modules/ollama/go.sum +++ b/modules/ollama/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v1.0.0-rc.1 h1:83KIq4yy1erSRgOVHNk1HYdPvzdJ5CnsWaRoJX4C41E= github.com/containerd/platforms v1.0.0-rc.1/go.mod h1:J71L7B+aiM5SdIEqmd9wp6THLVRzJGXfNuWCZCllLA4= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/openfga/go.mod b/modules/openfga/go.mod index 75e856bc2d..2c2686cebe 100644 --- a/modules/openfga/go.mod +++ b/modules/openfga/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/openfga/go.sum b/modules/openfga/go.sum index 94b623a713..dc527ca741 100644 --- a/modules/openfga/go.sum +++ b/modules/openfga/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/openldap/go.mod b/modules/openldap/go.mod index 5cdeddc65c..9905a06c37 100644 --- a/modules/openldap/go.mod +++ b/modules/openldap/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/openldap/go.sum b/modules/openldap/go.sum index 2d4e3428ac..42eb64ce42 100644 --- a/modules/openldap/go.sum +++ b/modules/openldap/go.sum @@ -16,8 +16,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/opensearch/go.mod b/modules/opensearch/go.mod index df95427924..01e1e3c3c9 100644 --- a/modules/opensearch/go.mod +++ b/modules/opensearch/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.5.0 // indirect diff --git a/modules/opensearch/go.sum b/modules/opensearch/go.sum index 5440d4a0bc..f3fc6f2888 100644 --- a/modules/opensearch/go.sum +++ b/modules/opensearch/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/pinecone/go.mod b/modules/pinecone/go.mod index 378a1fe80a..2e95f894a8 100644 --- a/modules/pinecone/go.mod +++ b/modules/pinecone/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/pinecone/go.sum b/modules/pinecone/go.sum index 34570d58f5..a9587ec7a0 100644 --- a/modules/pinecone/go.sum +++ b/modules/pinecone/go.sum @@ -16,8 +16,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/postgres/go.mod b/modules/postgres/go.mod index 78cb4e9502..3b364b66e7 100644 --- a/modules/postgres/go.mod +++ b/modules/postgres/go.mod @@ -21,7 +21,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/postgres/go.sum b/modules/postgres/go.sum index 9fca69bd4d..a938dc57d5 100644 --- a/modules/postgres/go.sum +++ b/modules/postgres/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/pulsar/go.mod b/modules/pulsar/go.mod index d67822dabc..1904278783 100644 --- a/modules/pulsar/go.mod +++ b/modules/pulsar/go.mod @@ -29,7 +29,6 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect diff --git a/modules/pulsar/go.sum b/modules/pulsar/go.sum index c49d511ba0..10790a6696 100644 --- a/modules/pulsar/go.sum +++ b/modules/pulsar/go.sum @@ -82,8 +82,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= diff --git a/modules/qdrant/go.mod b/modules/qdrant/go.mod index d37250770b..92e41dd9b6 100644 --- a/modules/qdrant/go.mod +++ b/modules/qdrant/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/qdrant/go.sum b/modules/qdrant/go.sum index fa23d0b9ed..1b6b2c383f 100644 --- a/modules/qdrant/go.sum +++ b/modules/qdrant/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/rabbitmq/go.mod b/modules/rabbitmq/go.mod index 3d383d26f4..c4f02ad9f7 100644 --- a/modules/rabbitmq/go.mod +++ b/modules/rabbitmq/go.mod @@ -27,7 +27,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/rabbitmq/go.sum b/modules/rabbitmq/go.sum index 64486c05af..520b05e4d7 100644 --- a/modules/rabbitmq/go.sum +++ b/modules/rabbitmq/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/redis/go.mod b/modules/redis/go.mod index 6a5564dd61..2db48a3cfb 100644 --- a/modules/redis/go.mod +++ b/modules/redis/go.mod @@ -22,7 +22,6 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/distribution/reference v0.6.0 // indirect diff --git a/modules/redis/go.sum b/modules/redis/go.sum index 3d1b01dd9f..fabaccb1a3 100644 --- a/modules/redis/go.sum +++ b/modules/redis/go.sum @@ -14,8 +14,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/redpanda/go.mod b/modules/redpanda/go.mod index 7b113c3475..5594e34b32 100644 --- a/modules/redpanda/go.mod +++ b/modules/redpanda/go.mod @@ -33,7 +33,6 @@ require ( github.com/Microsoft/go-winio v0.6.2 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-units v0.5.0 // indirect diff --git a/modules/redpanda/go.sum b/modules/redpanda/go.sum index 77cc264239..0e6c0e5e3e 100644 --- a/modules/redpanda/go.sum +++ b/modules/redpanda/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/scylladb/go.mod b/modules/scylladb/go.mod index b4cbd8dd8f..91479b25f6 100644 --- a/modules/scylladb/go.mod +++ b/modules/scylladb/go.mod @@ -32,7 +32,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/scylladb/go.sum b/modules/scylladb/go.sum index 09d42ecf7b..555f775abf 100644 --- a/modules/scylladb/go.sum +++ b/modules/scylladb/go.sum @@ -46,8 +46,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/socat/go.mod b/modules/socat/go.mod index 5f100c92d7..66713c527f 100644 --- a/modules/socat/go.mod +++ b/modules/socat/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/socat/go.sum b/modules/socat/go.sum index 459a53fe70..8d37c9dfd4 100644 --- a/modules/socat/go.sum +++ b/modules/socat/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/surrealdb/go.mod b/modules/surrealdb/go.mod index 24d0dcba02..632aa81ea1 100644 --- a/modules/surrealdb/go.mod +++ b/modules/surrealdb/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/surrealdb/go.sum b/modules/surrealdb/go.sum index 5dbc27b8df..7defa4a731 100644 --- a/modules/surrealdb/go.sum +++ b/modules/surrealdb/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/toxiproxy/go.mod b/modules/toxiproxy/go.mod index 3555dac0c8..4d41e382f8 100644 --- a/modules/toxiproxy/go.mod +++ b/modules/toxiproxy/go.mod @@ -20,7 +20,6 @@ require ( github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/distribution/reference v0.6.0 // indirect diff --git a/modules/toxiproxy/go.sum b/modules/toxiproxy/go.sum index a8474c8fa9..17ee69c040 100644 --- a/modules/toxiproxy/go.sum +++ b/modules/toxiproxy/go.sum @@ -16,8 +16,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/valkey/go.mod b/modules/valkey/go.mod index 9a61f3b869..3d3ff1e889 100644 --- a/modules/valkey/go.mod +++ b/modules/valkey/go.mod @@ -20,7 +20,6 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/valkey/go.sum b/modules/valkey/go.sum index f04179ac6a..00564a326d 100644 --- a/modules/valkey/go.sum +++ b/modules/valkey/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/vault/go.mod b/modules/vault/go.mod index 1564ab8d36..01899923cc 100644 --- a/modules/vault/go.mod +++ b/modules/vault/go.mod @@ -19,7 +19,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.5.0 // indirect diff --git a/modules/vault/go.sum b/modules/vault/go.sum index 32ca6a1c9f..dd497a6175 100644 --- a/modules/vault/go.sum +++ b/modules/vault/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/vearch/go.mod b/modules/vearch/go.mod index 2ce3405d3b..60bdaac1ed 100644 --- a/modules/vearch/go.mod +++ b/modules/vearch/go.mod @@ -17,7 +17,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.5.0 // indirect diff --git a/modules/vearch/go.sum b/modules/vearch/go.sum index 5440d4a0bc..f3fc6f2888 100644 --- a/modules/vearch/go.sum +++ b/modules/vearch/go.sum @@ -12,8 +12,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/modules/weaviate/go.mod b/modules/weaviate/go.mod index bbb0b7840e..852acef3a0 100644 --- a/modules/weaviate/go.mod +++ b/modules/weaviate/go.mod @@ -19,7 +19,6 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/weaviate/go.sum b/modules/weaviate/go.sum index b268cd3fb0..00ef3023c2 100644 --- a/modules/weaviate/go.sum +++ b/modules/weaviate/go.sum @@ -19,8 +19,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= diff --git a/modules/yugabytedb/go.mod b/modules/yugabytedb/go.mod index ed75baf64d..275bb4652b 100644 --- a/modules/yugabytedb/go.mod +++ b/modules/yugabytedb/go.mod @@ -18,7 +18,6 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/docker v28.0.1+incompatible // indirect diff --git a/modules/yugabytedb/go.sum b/modules/yugabytedb/go.sum index 52ed95fcc6..0bfea3ca49 100644 --- a/modules/yugabytedb/go.sum +++ b/modules/yugabytedb/go.sum @@ -16,8 +16,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -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/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=