Skip to content

Commit 2ed4b03

Browse files
authored
Merge pull request #454 from dgageot/read-config
Use docker CLI code to read the config
2 parents 2d08841 + ce6bdb7 commit 2ed4b03

File tree

2 files changed

+2
-68
lines changed

2 files changed

+2
-68
lines changed

pkg/skaffold/docker/auth.go

+2-17
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"os"
2424
"path/filepath"
2525

26-
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/util"
2726
"github.com/docker/cli/cli/config"
2827
"github.com/docker/cli/cli/config/configfile"
2928
"github.com/docker/distribution/reference"
@@ -64,15 +63,15 @@ type credsHelper struct {
6463
}
6564

6665
func (credsHelper) GetAuthConfig(registry string) (types.AuthConfig, error) {
67-
cf, err := load()
66+
cf, err := config.Load(configDir)
6867
if err != nil {
6968
return types.AuthConfig{}, errors.Wrap(err, "docker config")
7069
}
7170
return cf.GetAuthConfig(registry)
7271
}
7372

7473
func (credsHelper) GetAllAuthConfigs() (map[string]types.AuthConfig, error) {
75-
cf, err := load()
74+
cf, err := config.Load(configDir)
7675
if err != nil {
7776
return nil, errors.Wrap(err, "docker config")
7877
}
@@ -126,17 +125,3 @@ func officialRegistry(ctx context.Context, cli DockerAPIClient) string {
126125

127126
return serverAddress
128127
}
129-
130-
func load() (*configfile.ConfigFile, error) {
131-
filename := filepath.Join(configDir, config.ConfigFileName)
132-
f, err := util.Fs.Open(filename)
133-
if err != nil {
134-
return nil, errors.Wrap(err, "opening docker config")
135-
}
136-
defer f.Close()
137-
cf := configfile.New("")
138-
if err := cf.LoadFromReader(f); err != nil {
139-
return nil, errors.Wrap(err, "loading docker config file")
140-
}
141-
return cf, nil
142-
}

pkg/skaffold/docker/auth_test.go

-51
Original file line numberDiff line numberDiff line change
@@ -19,63 +19,12 @@ package docker
1919
import (
2020
"context"
2121
"fmt"
22-
"io/ioutil"
23-
"path/filepath"
2422
"testing"
2523

2624
"github.com/GoogleContainerTools/skaffold/testutil"
27-
"github.com/docker/cli/cli/config"
2825
"github.com/docker/docker/api/types"
2926
)
3027

31-
const dockerCfg = `{
32-
"auths": {
33-
"https://appengine.gcr.io": {},
34-
"https://asia.gcr.io": {},
35-
"https://b.gcr.io": {},
36-
"https://beta.gcr.io": {},
37-
"https://bucket.gcr.io": {},
38-
"https://eu.gcr.io": {},
39-
"https://gcr.io": {},
40-
"https://gcr.kubernetes.io": {},
41-
"https://us.gcr.io": {}
42-
},
43-
"credsStore": "gcr",
44-
"credHelpers": {
45-
"appengine.gcr.io": "gcr",
46-
"asia.gcr.io": "gcr",
47-
"eu.gcr.io": "gcr",
48-
"gcr.io": "gcr",
49-
"gcr.kubernetes.io": "gcr",
50-
"us.gcr.io": "gcr"
51-
}
52-
}`
53-
54-
func TestLoad(t *testing.T) {
55-
tempDir, cleanup := testutil.TempDir(t)
56-
defer cleanup()
57-
58-
defer func(d string) { configDir = d }(configDir)
59-
configDir = tempDir
60-
61-
ioutil.WriteFile(filepath.Join(configDir, config.ConfigFileName), []byte(dockerCfg), 0650)
62-
63-
_, err := load()
64-
if err != nil {
65-
t.Errorf("Couldn't load docker config: %s", err)
66-
}
67-
}
68-
69-
func TestLoadNotARealPath(t *testing.T) {
70-
defer func(d string) { configDir = d }(configDir)
71-
configDir = "not a real path"
72-
73-
cf, err := load()
74-
if err == nil {
75-
t.Errorf("Expected error loading from bad path, but got none: %+v", cf)
76-
}
77-
}
78-
7928
type testAuthHelper struct {
8029
getAuthConfigErr error
8130
getAllAuthConfigsErr error

0 commit comments

Comments
 (0)