Merge pull request #4205 from thaJeztah/info_dont_depend_on_IndexServerAddress
cli/command/system: prettyPrintServerInfo: don't depend on IndexServerAddress and credential-store
This commit is contained in:
commit
04bf047a2c
@ -19,6 +19,7 @@ import (
|
|||||||
"github.com/docker/docker/api/types"
|
"github.com/docker/docker/api/types"
|
||||||
"github.com/docker/docker/api/types/swarm"
|
"github.com/docker/docker/api/types/swarm"
|
||||||
"github.com/docker/docker/api/types/versions"
|
"github.com/docker/docker/api/types/versions"
|
||||||
|
"github.com/docker/docker/registry"
|
||||||
"github.com/docker/go-units"
|
"github.com/docker/go-units"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
@ -41,6 +42,7 @@ type info struct {
|
|||||||
// object.
|
// object.
|
||||||
*types.Info `json:",omitempty"`
|
*types.Info `json:",omitempty"`
|
||||||
ServerErrors []string `json:",omitempty"`
|
ServerErrors []string `json:",omitempty"`
|
||||||
|
UserName string `json:"-"`
|
||||||
|
|
||||||
ClientInfo *clientInfo `json:",omitempty"`
|
ClientInfo *clientInfo `json:",omitempty"`
|
||||||
ClientErrors []string `json:",omitempty"`
|
ClientErrors []string `json:",omitempty"`
|
||||||
@ -112,6 +114,8 @@ func runInfo(cmd *cobra.Command, dockerCli command.Cli, opts *infoOptions) error
|
|||||||
}
|
}
|
||||||
|
|
||||||
if opts.format == "" {
|
if opts.format == "" {
|
||||||
|
info.UserName = dockerCli.ConfigFile().AuthConfigs[registry.IndexServer].Username
|
||||||
|
info.ClientInfo.APIVersion = dockerCli.CurrentVersion()
|
||||||
return prettyPrintInfo(dockerCli, info)
|
return prettyPrintInfo(dockerCli, info)
|
||||||
}
|
}
|
||||||
return formatInfo(dockerCli, info, opts.format)
|
return formatInfo(dockerCli, info, opts.format)
|
||||||
@ -173,7 +177,7 @@ func prettyPrintInfo(dockerCli command.Cli, info info) error {
|
|||||||
fmt.Fprintln(dockerCli.Out())
|
fmt.Fprintln(dockerCli.Out())
|
||||||
fmt.Fprintln(dockerCli.Out(), "Server:")
|
fmt.Fprintln(dockerCli.Out(), "Server:")
|
||||||
if info.Info != nil {
|
if info.Info != nil {
|
||||||
for _, err := range prettyPrintServerInfo(dockerCli, *info.Info) {
|
for _, err := range prettyPrintServerInfo(dockerCli, &info) {
|
||||||
info.ServerErrors = append(info.ServerErrors, err.Error())
|
info.ServerErrors = append(info.ServerErrors, err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -211,7 +215,7 @@ func prettyPrintClientInfo(dockerCli command.Cli, info clientInfo) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//nolint:gocyclo
|
//nolint:gocyclo
|
||||||
func prettyPrintServerInfo(dockerCli command.Cli, info types.Info) []error {
|
func prettyPrintServerInfo(dockerCli command.Cli, info *info) []error {
|
||||||
var errs []error
|
var errs []error
|
||||||
|
|
||||||
fmt.Fprintln(dockerCli.Out(), " Containers:", info.Containers)
|
fmt.Fprintln(dockerCli.Out(), " Containers:", info.Containers)
|
||||||
@ -246,7 +250,7 @@ func prettyPrintServerInfo(dockerCli command.Cli, info types.Info) []error {
|
|||||||
fmt.Fprintln(dockerCli.Out(), " Log:", strings.Join(info.Plugins.Log, " "))
|
fmt.Fprintln(dockerCli.Out(), " Log:", strings.Join(info.Plugins.Log, " "))
|
||||||
|
|
||||||
fmt.Fprintln(dockerCli.Out(), " Swarm:", info.Swarm.LocalNodeState)
|
fmt.Fprintln(dockerCli.Out(), " Swarm:", info.Swarm.LocalNodeState)
|
||||||
printSwarmInfo(dockerCli, info)
|
printSwarmInfo(dockerCli, *info.Info)
|
||||||
|
|
||||||
if len(info.Runtimes) > 0 {
|
if len(info.Runtimes) > 0 {
|
||||||
fmt.Fprint(dockerCli.Out(), " Runtimes:")
|
fmt.Fprint(dockerCli.Out(), " Runtimes:")
|
||||||
@ -318,14 +322,7 @@ func prettyPrintServerInfo(dockerCli command.Cli, info types.Info) []error {
|
|||||||
fprintlnNonEmpty(dockerCli.Out(), " HTTP Proxy:", info.HTTPProxy)
|
fprintlnNonEmpty(dockerCli.Out(), " HTTP Proxy:", info.HTTPProxy)
|
||||||
fprintlnNonEmpty(dockerCli.Out(), " HTTPS Proxy:", info.HTTPSProxy)
|
fprintlnNonEmpty(dockerCli.Out(), " HTTPS Proxy:", info.HTTPSProxy)
|
||||||
fprintlnNonEmpty(dockerCli.Out(), " No Proxy:", info.NoProxy)
|
fprintlnNonEmpty(dockerCli.Out(), " No Proxy:", info.NoProxy)
|
||||||
|
fprintlnNonEmpty(dockerCli.Out(), " Username:", info.UserName)
|
||||||
if info.IndexServerAddress != "" {
|
|
||||||
u := dockerCli.ConfigFile().AuthConfigs[info.IndexServerAddress].Username
|
|
||||||
if len(u) > 0 {
|
|
||||||
fmt.Fprintln(dockerCli.Out(), " Username:", u)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(info.Labels) > 0 {
|
if len(info.Labels) > 0 {
|
||||||
fmt.Fprintln(dockerCli.Out(), " Labels:")
|
fmt.Fprintln(dockerCli.Out(), " Labels:")
|
||||||
for _, lbl := range info.Labels {
|
for _, lbl := range info.Labels {
|
||||||
@ -444,16 +441,16 @@ func printSwarmInfo(dockerCli command.Cli, info types.Info) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func printServerWarnings(dockerCli command.Cli, info types.Info) {
|
func printServerWarnings(dockerCli command.Cli, info *info) {
|
||||||
if versions.LessThan(dockerCli.Client().ClientVersion(), "1.42") {
|
if versions.LessThan(info.ClientInfo.APIVersion, "1.42") {
|
||||||
printSecurityOptionsWarnings(dockerCli, info)
|
printSecurityOptionsWarnings(dockerCli, *info.Info)
|
||||||
}
|
}
|
||||||
if len(info.Warnings) > 0 {
|
if len(info.Warnings) > 0 {
|
||||||
fmt.Fprintln(dockerCli.Err(), strings.Join(info.Warnings, "\n"))
|
fmt.Fprintln(dockerCli.Err(), strings.Join(info.Warnings, "\n"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// daemon didn't return warnings. Fallback to old behavior
|
// daemon didn't return warnings. Fallback to old behavior
|
||||||
printServerWarningsLegacy(dockerCli, info)
|
printServerWarningsLegacy(dockerCli, *info.Info)
|
||||||
}
|
}
|
||||||
|
|
||||||
// printSecurityOptionsWarnings prints warnings based on the security options
|
// printSecurityOptionsWarnings prints warnings based on the security options
|
||||||
|
Loading…
x
Reference in New Issue
Block a user