mirror of https://github.com/docker/cli.git
Merge pull request #3335 from thaJeztah/20.10_backport_remove_seccomp_warning
[20.10 backport] info: skip client-side warning about seccomp profile on API >= 1.42
This commit is contained in:
commit
c4cb29837f
|
@ -14,6 +14,7 @@ import (
|
||||||
"github.com/docker/cli/templates"
|
"github.com/docker/cli/templates"
|
||||||
"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/go-units"
|
"github.com/docker/go-units"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
@ -211,9 +212,6 @@ func prettyPrintServerInfo(dockerCli command.Cli, info types.Info) []error {
|
||||||
for _, o := range so.Options {
|
for _, o := range so.Options {
|
||||||
switch o.Key {
|
switch o.Key {
|
||||||
case "profile":
|
case "profile":
|
||||||
if o.Value != "default" {
|
|
||||||
fmt.Fprintln(dockerCli.Err(), " WARNING: You're not using the default seccomp profile")
|
|
||||||
}
|
|
||||||
fmt.Fprintln(dockerCli.Out(), " Profile:", o.Value)
|
fmt.Fprintln(dockerCli.Out(), " Profile:", o.Value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -378,6 +376,9 @@ func printSwarmInfo(dockerCli command.Cli, info types.Info) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func printServerWarnings(dockerCli command.Cli, info types.Info) {
|
func printServerWarnings(dockerCli command.Cli, info types.Info) {
|
||||||
|
if versions.LessThan(dockerCli.Client().ClientVersion(), "1.42") {
|
||||||
|
printSecurityOptionsWarnings(dockerCli, 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
|
||||||
|
@ -387,6 +388,29 @@ func printServerWarnings(dockerCli command.Cli, info types.Info) {
|
||||||
printServerWarningsLegacy(dockerCli, info)
|
printServerWarningsLegacy(dockerCli, info)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// printSecurityOptionsWarnings prints warnings based on the security options
|
||||||
|
// returned by the daemon.
|
||||||
|
// DEPRECATED: warnings are now generated by the daemon, and returned in
|
||||||
|
// info.Warnings. This function is used to provide backward compatibility with
|
||||||
|
// daemons that do not provide these warnings. No new warnings should be added
|
||||||
|
// here.
|
||||||
|
func printSecurityOptionsWarnings(dockerCli command.Cli, info types.Info) {
|
||||||
|
if info.OSType == "windows" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
kvs, _ := types.DecodeSecurityOptions(info.SecurityOptions)
|
||||||
|
for _, so := range kvs {
|
||||||
|
if so.Name != "seccomp" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
for _, o := range so.Options {
|
||||||
|
if o.Key == "profile" && o.Value != "default" && o.Value != "builtin" {
|
||||||
|
_, _ = fmt.Fprintln(dockerCli.Err(), "WARNING: You're not using the default seccomp profile")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// printServerWarningsLegacy generates warnings based on information returned by the daemon.
|
// printServerWarningsLegacy generates warnings based on information returned by the daemon.
|
||||||
// DEPRECATED: warnings are now generated by the daemon, and returned in
|
// DEPRECATED: warnings are now generated by the daemon, and returned in
|
||||||
// info.Warnings. This function is used to provide backward compatibility with
|
// info.Warnings. This function is used to provide backward compatibility with
|
||||||
|
|
Loading…
Reference in New Issue