Generalize the plugin package
Remove containerd specific parts of the plugin package to prepare its move out of the main repository. Separate the plugin registration singleton into a separate package. Separating out the plugin package and registration makes it easier to implement external plugins without creating a dependency loop. Signed-off-by: Derek McGowan <derek@mcg.dev>
This commit is contained in:
@@ -28,6 +28,7 @@ import (
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/filters"
|
||||
"github.com/containerd/containerd/plugin"
|
||||
"github.com/containerd/containerd/plugin/registry"
|
||||
"github.com/containerd/containerd/plugins"
|
||||
ptypes "github.com/containerd/containerd/protobuf/types"
|
||||
"github.com/containerd/containerd/services"
|
||||
@@ -39,7 +40,7 @@ import (
|
||||
)
|
||||
|
||||
func init() {
|
||||
plugin.Register(&plugin.Registration{
|
||||
registry.Register(&plugin.Registration{
|
||||
Type: plugins.ServicePlugin,
|
||||
ID: services.IntrospectionService,
|
||||
Requires: []plugin.Type{},
|
||||
@@ -47,7 +48,7 @@ func init() {
|
||||
// this service fetches all plugins through the plugin set of the plugin context
|
||||
return &Local{
|
||||
plugins: ic.Plugins(),
|
||||
root: ic.Root,
|
||||
root: ic.Properties[plugins.PropertyRootDir],
|
||||
}, nil
|
||||
},
|
||||
})
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
|
||||
api "github.com/containerd/containerd/api/services/introspection/v1"
|
||||
"github.com/containerd/containerd/plugin"
|
||||
"github.com/containerd/containerd/plugin/registry"
|
||||
"github.com/containerd/containerd/plugins"
|
||||
ptypes "github.com/containerd/containerd/protobuf/types"
|
||||
"github.com/containerd/containerd/services"
|
||||
@@ -29,7 +30,7 @@ import (
|
||||
)
|
||||
|
||||
func init() {
|
||||
plugin.Register(&plugin.Registration{
|
||||
registry.Register(&plugin.Registration{
|
||||
Type: plugins.GRPCPlugin,
|
||||
ID: "introspection",
|
||||
Requires: []plugin.Type{plugins.ServicePlugin},
|
||||
@@ -52,7 +53,7 @@ func init() {
|
||||
if !ok {
|
||||
return nil, errors.New("could not create a local client for introspection service")
|
||||
}
|
||||
localClient.UpdateLocal(ic.Root)
|
||||
localClient.UpdateLocal(ic.Properties[plugins.PropertyRootDir])
|
||||
|
||||
return &server{
|
||||
local: localClient,
|
||||
|
||||
Reference in New Issue
Block a user