mirror of https://github.com/docker/cli.git
Merge pull request #3877 from thaJeztah/minor_context_cleanups
context: various minor cleanups and fixes
This commit is contained in:
commit
de52868abb
|
@ -58,5 +58,8 @@ func GetDockerContext(storeMetadata store.Metadata) (DockerContext, error) {
|
||||||
if !ok {
|
if !ok {
|
||||||
return DockerContext{}, errors.New("context metadata is not a valid DockerContext")
|
return DockerContext{}, errors.New("context metadata is not a valid DockerContext")
|
||||||
}
|
}
|
||||||
|
if storeMetadata.Name == DefaultContextName {
|
||||||
|
res.Description = "Current DOCKER_HOST based configuration"
|
||||||
|
}
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,13 +44,16 @@ func runList(dockerCli command.Cli, opts *listOptions) error {
|
||||||
if opts.format == "" {
|
if opts.format == "" {
|
||||||
opts.format = formatter.TableFormatKey
|
opts.format = formatter.TableFormatKey
|
||||||
}
|
}
|
||||||
curContext := dockerCli.CurrentContext()
|
|
||||||
contextMap, err := dockerCli.ContextStore().List()
|
contextMap, err := dockerCli.ContextStore().List()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
var contexts []*formatter.ClientContext
|
var (
|
||||||
|
curContext = dockerCli.CurrentContext()
|
||||||
|
contexts []*formatter.ClientContext
|
||||||
|
)
|
||||||
for _, rawMeta := range contextMap {
|
for _, rawMeta := range contextMap {
|
||||||
|
isCurrent := rawMeta.Name == curContext
|
||||||
meta, err := command.GetDockerContext(rawMeta)
|
meta, err := command.GetDockerContext(rawMeta)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -59,12 +62,9 @@ func runList(dockerCli command.Cli, opts *listOptions) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if rawMeta.Name == command.DefaultContextName {
|
|
||||||
meta.Description = "Current DOCKER_HOST based configuration"
|
|
||||||
}
|
|
||||||
desc := formatter.ClientContext{
|
desc := formatter.ClientContext{
|
||||||
Name: rawMeta.Name,
|
Name: rawMeta.Name,
|
||||||
Current: rawMeta.Name == curContext,
|
Current: isCurrent,
|
||||||
Description: meta.Description,
|
Description: meta.Description,
|
||||||
DockerEndpoint: dockerEndpoint.Host,
|
DockerEndpoint: dockerEndpoint.Host,
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ func runList(dockerCli command.Cli, opts *listOptions) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if os.Getenv(client.EnvOverrideHost) != "" {
|
if os.Getenv(client.EnvOverrideHost) != "" {
|
||||||
fmt.Fprintf(dockerCli.Err(), "Warning: %[1]s environment variable overrides the active context. "+
|
_, _ = fmt.Fprintf(dockerCli.Err(), "Warning: %[1]s environment variable overrides the active context. "+
|
||||||
"To use a context, either set the global --context flag, or unset %[1]s environment variable.\n", client.EnvOverrideHost)
|
"To use a context, either set the global --context flag, or unset %[1]s environment variable.\n", client.EnvOverrideHost)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -16,7 +16,8 @@ func TestDockerContextMetadataKeepAdditionalFields(t *testing.T) {
|
||||||
}
|
}
|
||||||
jsonBytes, err := json.Marshal(c)
|
jsonBytes, err := json.Marshal(c)
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
assert.Equal(t, `{"Description":"test","foo":"bar"}`, string(jsonBytes))
|
const expected = `{"Description":"test","foo":"bar"}`
|
||||||
|
assert.Equal(t, string(jsonBytes), expected)
|
||||||
|
|
||||||
var c2 DockerContext
|
var c2 DockerContext
|
||||||
assert.NilError(t, json.Unmarshal(jsonBytes, &c2))
|
assert.NilError(t, json.Unmarshal(jsonBytes, &c2))
|
||||||
|
|
|
@ -101,7 +101,7 @@ func (s *metadataStore) remove(name string) error {
|
||||||
func (s *metadataStore) list() ([]Metadata, error) {
|
func (s *metadataStore) list() ([]Metadata, error) {
|
||||||
ctxDirs, err := listRecursivelyMetadataDirs(s.root)
|
ctxDirs, err := listRecursivelyMetadataDirs(s.root)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if os.IsNotExist(err) {
|
if errors.Is(err, os.ErrNotExist) {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -110,7 +110,7 @@ func (s *metadataStore) list() ([]Metadata, error) {
|
||||||
for _, dir := range ctxDirs {
|
for _, dir := range ctxDirs {
|
||||||
c, err := s.getByID(contextdir(dir))
|
c, err := s.getByID(contextdir(dir))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if os.IsNotExist(err) {
|
if errors.Is(err, os.ErrNotExist) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
return nil, errors.Wrap(err, "failed to read metadata")
|
return nil, errors.Wrap(err, "failed to read metadata")
|
||||||
|
|
Loading…
Reference in New Issue