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

@@ -41,6 +41,7 @@ import (
"github.com/containerd/containerd/pkg/rdt"
"github.com/containerd/containerd/pkg/timeout"
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
"github.com/containerd/containerd/protobuf"
"github.com/containerd/containerd/protobuf/proto"
ptypes "github.com/containerd/containerd/protobuf/types"
@@ -75,7 +76,7 @@ type Config struct {
func init() {
plugin.Register(&plugin.Registration{
Type: plugin.ServicePlugin,
Type: plugins.ServicePlugin,
ID: services.TasksService,
Requires: tasksServiceRequires,
Config: &Config{},
@@ -88,22 +89,22 @@ func init() {
func initFunc(ic *plugin.InitContext) (interface{}, error) {
config := ic.Config.(*Config)
v2r, err := ic.GetByID(plugin.RuntimePluginV2, "task")
v2r, err := ic.GetByID(plugins.RuntimePluginV2, "task")
if err != nil {
return nil, err
}
m, err := ic.Get(plugin.MetadataPlugin)
m, err := ic.Get(plugins.MetadataPlugin)
if err != nil {
return nil, err
}
ep, err := ic.Get(plugin.EventPlugin)
ep, err := ic.Get(plugins.EventPlugin)
if err != nil {
return nil, err
}
monitor, err := ic.Get(plugin.TaskMonitorPlugin)
monitor, err := ic.Get(plugins.TaskMonitorPlugin)
if err != nil {
if !errdefs.IsNotFound(err) {
return nil, err

View File

@@ -20,10 +20,11 @@ package tasks
import (
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
)
var tasksServiceRequires = []plugin.Type{
plugin.RuntimePluginV2,
plugin.MetadataPlugin,
plugin.TaskMonitorPlugin,
plugins.RuntimePluginV2,
plugins.MetadataPlugin,
plugins.TaskMonitorPlugin,
}

View File

@@ -18,11 +18,12 @@ package tasks
import (
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
)
var tasksServiceRequires = []plugin.Type{
plugin.EventPlugin,
plugin.RuntimePluginV2,
plugin.MetadataPlugin,
plugin.TaskMonitorPlugin,
plugins.EventPlugin,
plugins.RuntimePluginV2,
plugins.MetadataPlugin,
plugins.TaskMonitorPlugin,
}

View File

@@ -20,12 +20,13 @@ package tasks
import (
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
)
var tasksServiceRequires = []plugin.Type{
plugin.EventPlugin,
plugin.RuntimePlugin,
plugin.RuntimePluginV2,
plugin.MetadataPlugin,
plugin.TaskMonitorPlugin,
plugins.EventPlugin,
plugins.RuntimePlugin,
plugins.RuntimePluginV2,
plugins.MetadataPlugin,
plugins.TaskMonitorPlugin,
}

View File

@@ -18,11 +18,12 @@ package tasks
import (
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
)
var tasksServiceRequires = []plugin.Type{
plugin.EventPlugin,
plugin.RuntimePluginV2,
plugin.MetadataPlugin,
plugin.TaskMonitorPlugin,
plugins.EventPlugin,
plugins.RuntimePluginV2,
plugins.MetadataPlugin,
plugins.TaskMonitorPlugin,
}

View File

@@ -22,6 +22,7 @@ import (
api "github.com/containerd/containerd/api/services/tasks/v1"
"github.com/containerd/containerd/plugin"
"github.com/containerd/containerd/plugins"
ptypes "github.com/containerd/containerd/protobuf/types"
"github.com/containerd/containerd/services"
"google.golang.org/grpc"
@@ -33,17 +34,17 @@ var (
func init() {
plugin.Register(&plugin.Registration{
Type: plugin.GRPCPlugin,
Type: plugins.GRPCPlugin,
ID: "tasks",
Requires: []plugin.Type{
plugin.ServicePlugin,
plugins.ServicePlugin,
},
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
plugins, err := ic.GetByType(plugin.ServicePlugin)
sps, err := ic.GetByType(plugins.ServicePlugin)
if err != nil {
return nil, err
}
p, ok := plugins[services.TasksService]
p, ok := sps[services.TasksService]
if !ok {
return nil, errors.New("tasks service not found")
}