Move plugin type definitions to containerd plugins package

The plugins packages defines the plugins used by containerd.
Move all the types and properties to this package.

Signed-off-by: Derek McGowan <derek@mcg.dev>
This commit is contained in:
Derek McGowan
2023-10-12 15:31:45 -07:00
parent cb969085f5
commit a80606bc2d
74 changed files with 429 additions and 314 deletions

View File

@@ -26,6 +26,7 @@ import (
"github.com/containerd/containerd"
"github.com/containerd/containerd/namespaces"
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
"github.com/containerd/containerd/runtime/restart"
"github.com/containerd/log"
)
@@ -52,10 +53,10 @@ type Config struct {
func init() {
plugin.Register(&plugin.Registration{
Type: plugin.InternalPlugin,
Type: plugins.InternalPlugin,
Requires: []plugin.Type{
plugin.EventPlugin,
plugin.ServicePlugin,
plugins.EventPlugin,
plugins.ServicePlugin,
},
ID: "restart",
Config: &Config{

View File

@@ -24,6 +24,7 @@ import (
"github.com/containerd/containerd/errdefs"
"github.com/containerd/containerd/pkg/shutdown"
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
ptypes "github.com/containerd/containerd/protobuf/types"
"github.com/containerd/containerd/runtime/v2/shim"
"github.com/containerd/ttrpc"
@@ -31,18 +32,18 @@ import (
func init() {
plugin.Register(&plugin.Registration{
Type: plugin.TTRPCPlugin,
Type: plugins.TTRPCPlugin,
ID: "task",
Requires: []plugin.Type{
plugin.EventPlugin,
plugin.InternalPlugin,
plugins.EventPlugin,
plugins.InternalPlugin,
},
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
pp, err := ic.GetByID(plugin.EventPlugin, "publisher")
pp, err := ic.GetByID(plugins.EventPlugin, "publisher")
if err != nil {
return nil, err
}
ss, err := ic.GetByID(plugin.InternalPlugin, "shutdown")
ss, err := ic.GetByID(plugins.InternalPlugin, "shutdown")
if err != nil {
return nil, err
}

View File

@@ -34,6 +34,7 @@ import (
"github.com/containerd/containerd/pkg/timeout"
"github.com/containerd/containerd/platforms"
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
"github.com/containerd/containerd/protobuf"
"github.com/containerd/containerd/runtime"
shimbinary "github.com/containerd/containerd/runtime/v2/shim"
@@ -51,11 +52,11 @@ type Config struct {
func init() {
plugin.Register(&plugin.Registration{
Type: plugin.RuntimePluginV2,
Type: plugins.RuntimePluginV2,
ID: "task",
Requires: []plugin.Type{
plugin.EventPlugin,
plugin.MetadataPlugin,
plugins.EventPlugin,
plugins.MetadataPlugin,
},
Config: &Config{
Platforms: defaultPlatforms(),
@@ -69,11 +70,11 @@ func init() {
ic.Meta.Platforms = supportedPlatforms
m, err := ic.Get(plugin.MetadataPlugin)
m, err := ic.Get(plugins.MetadataPlugin)
if err != nil {
return nil, err
}
ep, err := ic.GetByID(plugin.EventPlugin, "exchange")
ep, err := ic.GetByID(plugins.EventPlugin, "exchange")
if err != nil {
return nil, err
}
@@ -104,10 +105,10 @@ func init() {
// use the following workaround.
// This expected to be removed in 1.7.
plugin.Register(&plugin.Registration{
Type: plugin.RuntimePluginV2,
Type: plugins.RuntimePluginV2,
ID: "shim",
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
taskManagerI, err := ic.GetByID(plugin.RuntimePluginV2, "task")
taskManagerI, err := ic.GetByID(plugins.RuntimePluginV2, "task")
if err != nil {
return nil, err
}
@@ -176,7 +177,7 @@ type ShimManager struct {
// ID of the shim manager
func (m *ShimManager) ID() string {
return plugin.RuntimePluginV2.String() + ".shim"
return plugins.RuntimePluginV2.String() + ".shim"
}
// Start launches a new shim instance
@@ -400,7 +401,7 @@ func NewTaskManager(shims *ShimManager) *TaskManager {
// ID of the task manager
func (m *TaskManager) ID() string {
return plugin.RuntimePluginV2.String() + ".task"
return plugins.RuntimePluginV2.String() + ".task"
}
// Create launches new shim instance and creates new task

View File

@@ -24,6 +24,7 @@ import (
"github.com/containerd/containerd/api/types"
"github.com/containerd/containerd/pkg/shutdown"
"github.com/containerd/containerd/plugins"
"github.com/containerd/containerd/runtime/v2/shim"
"github.com/containerd/log"
"github.com/containerd/ttrpc"
@@ -34,13 +35,13 @@ import (
func init() {
plugin.Register(&plugin.Registration{
Type: plugin.TTRPCPlugin,
Type: plugins.TTRPCPlugin,
ID: "pause",
Requires: []plugin.Type{
plugin.InternalPlugin,
plugins.InternalPlugin,
},
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
ss, err := ic.GetByID(plugin.InternalPlugin, "shutdown")
ss, err := ic.GetByID(plugins.InternalPlugin, "shutdown")
if err != nil {
return nil, err
}

View File

@@ -19,24 +19,25 @@ package plugin
import (
"github.com/containerd/containerd/pkg/shutdown"
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
"github.com/containerd/containerd/runtime/v2/runc/task"
"github.com/containerd/containerd/runtime/v2/shim"
)
func init() {
plugin.Register(&plugin.Registration{
Type: plugin.TTRPCPlugin,
Type: plugins.TTRPCPlugin,
ID: "task",
Requires: []plugin.Type{
plugin.EventPlugin,
plugin.InternalPlugin,
plugins.EventPlugin,
plugins.InternalPlugin,
},
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
pp, err := ic.GetByID(plugin.EventPlugin, "publisher")
pp, err := ic.GetByID(plugins.EventPlugin, "publisher")
if err != nil {
return nil, err
}
ss, err := ic.GetByID(plugin.InternalPlugin, "shutdown")
ss, err := ic.GetByID(plugins.InternalPlugin, "shutdown")
if err != nil {
return nil, err
}

View File

@@ -34,6 +34,7 @@ import (
"github.com/containerd/containerd/namespaces"
"github.com/containerd/containerd/pkg/shutdown"
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
"github.com/containerd/containerd/protobuf"
"github.com/containerd/containerd/protobuf/proto"
"github.com/containerd/containerd/version"
@@ -284,7 +285,7 @@ func run(ctx context.Context, manager Manager, name string, config Config) error
}
plugin.Register(&plugin.Registration{
Type: plugin.InternalPlugin,
Type: plugins.InternalPlugin,
ID: "shutdown",
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
return sd, nil
@@ -293,7 +294,7 @@ func run(ctx context.Context, manager Manager, name string, config Config) error
// Register event plugin
plugin.Register(&plugin.Registration{
Type: plugin.EventPlugin,
Type: plugins.EventPlugin,
ID: "publisher",
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
return publisher, nil