|
|
@@ -62,7 +62,6 @@ const (
|
|
|
|
|
|
const (
|
|
|
dockerEndpointKey = "docker"
|
|
|
- configDir = ".docker"
|
|
|
contextsDir = "contexts"
|
|
|
metadataDir = "meta"
|
|
|
metaFile = "meta.json"
|
|
|
@@ -111,34 +110,10 @@ type store struct {
|
|
|
root string
|
|
|
}
|
|
|
|
|
|
-// Opt is a functional option for the store
|
|
|
-type Opt func(*store)
|
|
|
-
|
|
|
-// WithRoot sets a new root to the store
|
|
|
-func WithRoot(root string) Opt {
|
|
|
- return func(s *store) {
|
|
|
- s.root = root
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// New returns a configured context store with $HOME/.docker as root
|
|
|
-func New(opts ...Opt) (Store, error) {
|
|
|
- home, err := os.UserHomeDir()
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
-
|
|
|
- root := filepath.Join(home, configDir)
|
|
|
- if err := createDirIfNotExist(root); err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
-
|
|
|
+// New returns a configured context store with specified root dir (eg. $HOME/.docker) as root
|
|
|
+func New(rootDir string) (Store, error) {
|
|
|
s := &store{
|
|
|
- root: root,
|
|
|
- }
|
|
|
-
|
|
|
- for _, opt := range opts {
|
|
|
- opt(s)
|
|
|
+ root: rootDir,
|
|
|
}
|
|
|
|
|
|
m := filepath.Join(s.root, contextsDir, metadataDir)
|