diff --git a/cmd/containerd/command/config.go b/cmd/containerd/command/config.go index d6133f9a1..9fd870c35 100644 --- a/cmd/containerd/command/config.go +++ b/cmd/containerd/command/config.go @@ -23,12 +23,13 @@ import ( "github.com/BurntSushi/toml" "github.com/containerd/containerd/services/server" + srvconfig "github.com/containerd/containerd/services/server/config" "github.com/urfave/cli" ) // Config is a wrapper of server config for printing out. type Config struct { - *server.Config + *srvconfig.Config // Plugins overrides `Plugins map[string]toml.Primitive` in server config. Plugins map[string]interface{} `toml:"plugins"` } diff --git a/cmd/containerd/command/config_linux.go b/cmd/containerd/command/config_linux.go index 3010ee65f..48b535239 100644 --- a/cmd/containerd/command/config_linux.go +++ b/cmd/containerd/command/config_linux.go @@ -18,14 +18,14 @@ package command import ( "github.com/containerd/containerd/defaults" - "github.com/containerd/containerd/services/server" + srvconfig "github.com/containerd/containerd/services/server/config" ) -func defaultConfig() *server.Config { - return &server.Config{ +func defaultConfig() *srvconfig.Config { + return &srvconfig.Config{ Root: defaults.DefaultRootDir, State: defaults.DefaultStateDir, - GRPC: server.GRPCConfig{ + GRPC: srvconfig.GRPCConfig{ Address: defaults.DefaultAddress, MaxRecvMsgSize: defaults.DefaultMaxRecvMsgSize, MaxSendMsgSize: defaults.DefaultMaxSendMsgSize, diff --git a/cmd/containerd/command/config_unsupported.go b/cmd/containerd/command/config_unsupported.go index 3b479a1c6..3b14250d4 100644 --- a/cmd/containerd/command/config_unsupported.go +++ b/cmd/containerd/command/config_unsupported.go @@ -20,17 +20,17 @@ package command import ( "github.com/containerd/containerd/defaults" - "github.com/containerd/containerd/services/server" + srvconfig "github.com/containerd/containerd/services/server/config" ) -func defaultConfig() *server.Config { - return &server.Config{ +func defaultConfig() *srvconfig.Config { + return &srvconfig.Config{ Root: defaults.DefaultRootDir, State: defaults.DefaultStateDir, - GRPC: server.GRPCConfig{ + GRPC: srvconfig.GRPCConfig{ Address: defaults.DefaultAddress, }, - Debug: server.Debug{ + Debug: srvconfig.Debug{ Level: "info", Address: defaults.DefaultDebugAddress, }, diff --git a/cmd/containerd/command/config_windows.go b/cmd/containerd/command/config_windows.go index 3010ee65f..48b535239 100644 --- a/cmd/containerd/command/config_windows.go +++ b/cmd/containerd/command/config_windows.go @@ -18,14 +18,14 @@ package command import ( "github.com/containerd/containerd/defaults" - "github.com/containerd/containerd/services/server" + srvconfig "github.com/containerd/containerd/services/server/config" ) -func defaultConfig() *server.Config { - return &server.Config{ +func defaultConfig() *srvconfig.Config { + return &srvconfig.Config{ Root: defaults.DefaultRootDir, State: defaults.DefaultStateDir, - GRPC: server.GRPCConfig{ + GRPC: srvconfig.GRPCConfig{ Address: defaults.DefaultAddress, MaxRecvMsgSize: defaults.DefaultMaxRecvMsgSize, MaxSendMsgSize: defaults.DefaultMaxSendMsgSize, diff --git a/cmd/containerd/command/main.go b/cmd/containerd/command/main.go index 55e6393e7..09e0eeb95 100644 --- a/cmd/containerd/command/main.go +++ b/cmd/containerd/command/main.go @@ -29,6 +29,7 @@ import ( "github.com/containerd/containerd/log" "github.com/containerd/containerd/mount" "github.com/containerd/containerd/services/server" + srvconfig "github.com/containerd/containerd/services/server/config" "github.com/containerd/containerd/sys" "github.com/containerd/containerd/version" "github.com/pkg/errors" @@ -109,7 +110,7 @@ func App() *cli.App { // we don't miss any signals during boot signal.Notify(signals, handledSignals...) - if err := server.LoadConfig(context.GlobalString("config"), config); err != nil && !os.IsNotExist(err) { + if err := srvconfig.LoadConfig(context.GlobalString("config"), config); err != nil && !os.IsNotExist(err) { return err } // apply flags to the config @@ -187,7 +188,7 @@ func serve(ctx gocontext.Context, l net.Listener, serveFunc func(net.Listener) e }() } -func applyFlags(context *cli.Context, config *server.Config) error { +func applyFlags(context *cli.Context, config *srvconfig.Config) error { // the order for config vs flag values is that flags will always override // the config values if they are set if err := setLevel(context, config); err != nil { @@ -217,7 +218,7 @@ func applyFlags(context *cli.Context, config *server.Config) error { return nil } -func setLevel(context *cli.Context, config *server.Config) error { +func setLevel(context *cli.Context, config *srvconfig.Config) error { l := context.GlobalString("log-level") if l == "" { l = config.Debug.Level diff --git a/daemon_config_linux_test.go b/daemon_config_linux_test.go index 40d9bb0a9..7fca228e1 100644 --- a/daemon_config_linux_test.go +++ b/daemon_config_linux_test.go @@ -30,7 +30,7 @@ import ( "github.com/containerd/containerd/oci" "github.com/containerd/containerd/pkg/testutil" "github.com/containerd/containerd/runtime/v2/runc/options" - "github.com/containerd/containerd/services/server" + srvconfig "github.com/containerd/containerd/services/server/config" ) // the following nolint is for shutting up gometalinter on non-linux. @@ -42,7 +42,7 @@ func newDaemonWithConfig(t *testing.T, configTOML string) (*Client, *daemon, fun testutil.RequiresRoot(t) var ( ctrd = daemon{} - configTOMLDecoded server.Config + configTOMLDecoded srvconfig.Config buf = bytes.NewBuffer(nil) ) @@ -61,7 +61,7 @@ func newDaemonWithConfig(t *testing.T, configTOML string) (*Client, *daemon, fun t.Fatal(err) } - if err = server.LoadConfig(configTOMLFile, &configTOMLDecoded); err != nil { + if err = srvconfig.LoadConfig(configTOMLFile, &configTOMLDecoded); err != nil { t.Fatal(err) } diff --git a/services/server/config.go b/services/server/config/config.go similarity index 99% rename from services/server/config.go rename to services/server/config/config.go index a91d5fffd..2124d8671 100644 --- a/services/server/config.go +++ b/services/server/config/config.go @@ -14,7 +14,7 @@ limitations under the License. */ -package server +package config import ( "github.com/BurntSushi/toml" diff --git a/services/server/server.go b/services/server/server.go index ed10766f3..71214b79c 100644 --- a/services/server/server.go +++ b/services/server/server.go @@ -40,6 +40,7 @@ import ( "github.com/containerd/containerd/metadata" "github.com/containerd/containerd/pkg/dialer" "github.com/containerd/containerd/plugin" + srvconfig "github.com/containerd/containerd/services/server/config" "github.com/containerd/containerd/snapshots" ssproxy "github.com/containerd/containerd/snapshots/proxy" metrics "github.com/docker/go-metrics" @@ -50,7 +51,7 @@ import ( ) // New creates and initializes a new containerd server -func New(ctx context.Context, config *Config) (*Server, error) { +func New(ctx context.Context, config *srvconfig.Config) (*Server, error) { switch { case config.Root == "": return nil, errors.New("root must be specified") @@ -149,7 +150,7 @@ func New(ctx context.Context, config *Config) (*Server, error) { type Server struct { rpc *grpc.Server events *exchange.Exchange - config *Config + config *srvconfig.Config plugins []*plugin.Plugin } @@ -211,7 +212,7 @@ func (s *Server) Stop() { // LoadPlugins loads all plugins into containerd and generates an ordered graph // of all plugins. -func LoadPlugins(ctx context.Context, config *Config) ([]*plugin.Registration, error) { +func LoadPlugins(ctx context.Context, config *srvconfig.Config) ([]*plugin.Registration, error) { // load all plugins into containerd if err := plugin.Load(filepath.Join(config.Root, "plugins")); err != nil { return nil, err diff --git a/services/server/server_linux.go b/services/server/server_linux.go index c45ccd3d5..96b28a572 100644 --- a/services/server/server_linux.go +++ b/services/server/server_linux.go @@ -22,12 +22,13 @@ import ( "github.com/containerd/cgroups" "github.com/containerd/containerd/log" + srvconfig "github.com/containerd/containerd/services/server/config" "github.com/containerd/containerd/sys" specs "github.com/opencontainers/runtime-spec/specs-go" ) // apply sets config settings on the server process -func apply(ctx context.Context, config *Config) error { +func apply(ctx context.Context, config *srvconfig.Config) error { if config.OOMScore != 0 { log.G(ctx).Debugf("changing OOM score to %d", config.OOMScore) if err := sys.SetOOMScore(os.Getpid(), config.OOMScore); err != nil { diff --git a/services/server/server_solaris.go b/services/server/server_solaris.go index 0dbbb9fea..f3182211f 100644 --- a/services/server/server_solaris.go +++ b/services/server/server_solaris.go @@ -16,8 +16,12 @@ package server -import "context" +import ( + "context" -func apply(_ context.Context, _ *Config) error { + srvconfig "github.com/containerd/containerd/server/config" +) + +func apply(_ context.Context, _ *srvconfig.Config) error { return nil } diff --git a/services/server/server_test.go b/services/server/server_test.go index 57b52197f..351ea4904 100644 --- a/services/server/server_test.go +++ b/services/server/server_test.go @@ -20,13 +20,14 @@ import ( "context" "testing" + srvconfig "github.com/containerd/containerd/services/server/config" "gotest.tools/assert" is "gotest.tools/assert/cmp" ) func TestNewErrorsWithSamePathForRootAndState(t *testing.T) { path := "/tmp/path/for/testing" - _, err := New(context.Background(), &Config{ + _, err := New(context.Background(), &srvconfig.Config{ Root: path, State: path, }) diff --git a/services/server/server_unsupported.go b/services/server/server_unsupported.go index c6211dbb2..a6f187651 100644 --- a/services/server/server_unsupported.go +++ b/services/server/server_unsupported.go @@ -18,8 +18,12 @@ package server -import "context" +import ( + "context" -func apply(_ context.Context, _ *Config) error { + srvconfig "github.com/containerd/containerd/services/server/config" +) + +func apply(_ context.Context, _ *srvconfig.Config) error { return nil } diff --git a/services/server/server_windows.go b/services/server/server_windows.go index ac0b8481c..e0dd19b1d 100644 --- a/services/server/server_windows.go +++ b/services/server/server_windows.go @@ -20,8 +20,10 @@ package server import ( "context" + + srvconfig "github.com/containerd/containerd/services/server/config" ) -func apply(_ context.Context, _ *Config) error { +func apply(_ context.Context, _ *srvconfig.Config) error { return nil }