зеркало из https://github.com/docker/compose-cli.git
Move the config into own package and outside of cli
This commit is contained in:
Родитель
67fb49c98c
Коммит
22d4d250a9
|
@ -33,7 +33,7 @@ import (
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
cliconfig "github.com/docker/api/cli/config"
|
"github.com/docker/api/config"
|
||||||
"github.com/docker/api/context/store"
|
"github.com/docker/api/context/store"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ func runUse(ctx context.Context, name string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err := cliconfig.WriteCurrentContext(cliconfig.Dir(ctx), name); err != nil {
|
if err := config.WriteCurrentContext(config.Dir(ctx), name); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Println(name)
|
fmt.Println(name)
|
||||||
|
|
|
@ -32,15 +32,8 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
"github.com/docker/api/config"
|
||||||
// ConfigFileName is the name of config file
|
|
||||||
ConfigFileName = "config.json"
|
|
||||||
// ConfigFileDir is the default folder where the config file is stored
|
|
||||||
ConfigFileDir = ".docker"
|
|
||||||
// ConfigFlagName is the name of the config flag
|
|
||||||
ConfigFlagName = "config"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ConfigFlags are the global CLI flags
|
// ConfigFlags are the global CLI flags
|
||||||
|
@ -51,7 +44,7 @@ type ConfigFlags struct {
|
||||||
|
|
||||||
// AddConfigFlags adds persistent (global) flags
|
// AddConfigFlags adds persistent (global) flags
|
||||||
func (c *ConfigFlags) AddConfigFlags(flags *pflag.FlagSet) {
|
func (c *ConfigFlags) AddConfigFlags(flags *pflag.FlagSet) {
|
||||||
flags.StringVar(&c.Config, ConfigFlagName, confDir(), "Location of the client config files `DIRECTORY`")
|
flags.StringVar(&c.Config, config.ConfigFlagName, confDir(), "Location of the client config files `DIRECTORY`")
|
||||||
}
|
}
|
||||||
|
|
||||||
func confDir() string {
|
func confDir() string {
|
||||||
|
@ -60,5 +53,5 @@ func confDir() string {
|
||||||
return env
|
return env
|
||||||
}
|
}
|
||||||
home, _ := os.UserHomeDir()
|
home, _ := os.UserHomeDir()
|
||||||
return filepath.Join(home, ConfigFileDir)
|
return filepath.Join(home, config.ConfigFileDir)
|
||||||
}
|
}
|
||||||
|
|
12
cli/main.go
12
cli/main.go
|
@ -38,10 +38,6 @@ import (
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/docker/api/cli/cmd/login"
|
|
||||||
|
|
||||||
"github.com/docker/api/cli/dockerclassic"
|
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
@ -54,9 +50,11 @@ import (
|
||||||
"github.com/docker/api/cli/cmd"
|
"github.com/docker/api/cli/cmd"
|
||||||
"github.com/docker/api/cli/cmd/compose"
|
"github.com/docker/api/cli/cmd/compose"
|
||||||
contextcmd "github.com/docker/api/cli/cmd/context"
|
contextcmd "github.com/docker/api/cli/cmd/context"
|
||||||
|
"github.com/docker/api/cli/cmd/login"
|
||||||
"github.com/docker/api/cli/cmd/run"
|
"github.com/docker/api/cli/cmd/run"
|
||||||
cliconfig "github.com/docker/api/cli/config"
|
"github.com/docker/api/cli/dockerclassic"
|
||||||
cliopts "github.com/docker/api/cli/options"
|
cliopts "github.com/docker/api/cli/options"
|
||||||
|
"github.com/docker/api/config"
|
||||||
apicontext "github.com/docker/api/context"
|
apicontext "github.com/docker/api/context"
|
||||||
"github.com/docker/api/context/store"
|
"github.com/docker/api/context/store"
|
||||||
)
|
)
|
||||||
|
@ -151,7 +149,7 @@ func main() {
|
||||||
fatal(errors.New("config path cannot be empty"))
|
fatal(errors.New("config path cannot be empty"))
|
||||||
}
|
}
|
||||||
configDir := opts.Config
|
configDir := opts.Config
|
||||||
ctx = cliconfig.WithDir(ctx, configDir)
|
ctx = config.WithDir(ctx, configDir)
|
||||||
|
|
||||||
currentContext, err := determineCurrentContext(opts.Context, configDir)
|
currentContext, err := determineCurrentContext(opts.Context, configDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -206,7 +204,7 @@ func newSigContext() (context.Context, func()) {
|
||||||
func determineCurrentContext(flag string, configDir string) (string, error) {
|
func determineCurrentContext(flag string, configDir string) (string, error) {
|
||||||
res := flag
|
res := flag
|
||||||
if res == "" {
|
if res == "" {
|
||||||
config, err := cliconfig.LoadFile(configDir)
|
config, err := config.LoadFile(configDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ import (
|
||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"github.com/docker/api/cli/config"
|
"github.com/docker/api/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
var contextSetConfig = []byte(`{
|
var contextSetConfig = []byte(`{
|
||||||
|
|
|
@ -27,6 +27,15 @@
|
||||||
|
|
||||||
package config
|
package config
|
||||||
|
|
||||||
|
const (
|
||||||
|
// ConfigFileName is the name of config file
|
||||||
|
ConfigFileName = "config.json"
|
||||||
|
// ConfigFileDir is the default folder where the config file is stored
|
||||||
|
ConfigFileDir = ".docker"
|
||||||
|
// ConfigFlagName is the name of the config flag
|
||||||
|
ConfigFlagName = "config"
|
||||||
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// currentContextKey is the key used in the Docker config file to set the
|
// currentContextKey is the key used in the Docker config file to set the
|
||||||
// default context
|
// default context
|
Загрузка…
Ссылка в новой задаче