plugin

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2026 License: AGPL-3.0 Imports: 16 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoConnection = errors.New("no connection provided")

Functions

This section is empty.

Types

type ResourcePlugin

type ResourcePlugin struct {
	plugin.Plugin
	// Concrete implementation, written in Go. This is only used for plugins
	// that are written in Go.
	Impl             types.ResourceProvider
	SettingsProvider pkgsettings.Provider
}

This is the implementation of plugin.Plugin so we can serve/consume this.

func (*ResourcePlugin) GRPCClient

func (p *ResourcePlugin) GRPCClient(
	_ context.Context,
	_ *plugin.GRPCBroker,
	c *grpc.ClientConn,
) (interface{}, error)

func (*ResourcePlugin) GRPCServer

func (p *ResourcePlugin) GRPCServer(_ *plugin.GRPCBroker, s *grpc.Server) error

type ResourcePluginClient

type ResourcePluginClient struct {
	// contains filtered or unexported fields
}

ResourcePluginClient is the real client implementation for ResourcePlugin.

func (*ResourcePluginClient) Create

func (*ResourcePluginClient) Delete

func (*ResourcePluginClient) DeleteConnection

func (r *ResourcePluginClient) DeleteConnection(
	ctx *pkgtypes.PluginContext,
	id string,
) error

func (*ResourcePluginClient) EnsureInformerForResource

func (r *ResourcePluginClient) EnsureInformerForResource(
	_ *pkgtypes.PluginContext,
	connectionID string,
	resourceKey string,
) error

EnsureInformerForResource triggers lazy start for SyncOnFirstQuery resources.

func (*ResourcePluginClient) ExecuteAction

func (r *ResourcePluginClient) ExecuteAction(
	ctx *pkgtypes.PluginContext,
	key string,
	actionID string,
	input types.ActionInput,
) (*types.ActionResult, error)

func (*ResourcePluginClient) Find

func (*ResourcePluginClient) Get

func (*ResourcePluginClient) GetActions

func (*ResourcePluginClient) GetConnection

func (r *ResourcePluginClient) GetConnection(
	ctx *pkgtypes.PluginContext,
	id string,
) (pkgtypes.Connection, error)

func (*ResourcePluginClient) GetConnectionNamespaces

func (r *ResourcePluginClient) GetConnectionNamespaces(
	ctx *pkgtypes.PluginContext,
	id string,
) ([]string, error)

func (*ResourcePluginClient) GetDefaultLayout

func (r *ResourcePluginClient) GetDefaultLayout() ([]types.LayoutItem, error)

func (*ResourcePluginClient) GetEditorSchemas

func (r *ResourcePluginClient) GetEditorSchemas(
	_ *pkgtypes.PluginContext,
	connectionID string,
) ([]types.EditorSchema, error)

func (*ResourcePluginClient) GetInformerState

func (r *ResourcePluginClient) GetInformerState(
	_ *pkgtypes.PluginContext,
	connectionID string,
) (*types.InformerConnectionSummary, error)

GetInformerState returns a snapshot of all resource informer states for a connection.

func (*ResourcePluginClient) GetLayout

func (r *ResourcePluginClient) GetLayout(layoutID string) ([]types.LayoutItem, error)

func (*ResourcePluginClient) GetResourceDefinition

func (r *ResourcePluginClient) GetResourceDefinition(id string) (types.ResourceDefinition, error)

func (*ResourcePluginClient) GetResourceGroup

func (r *ResourcePluginClient) GetResourceGroup(id string) (types.ResourceGroup, error)

func (*ResourcePluginClient) GetResourceGroups

func (r *ResourcePluginClient) GetResourceGroups(connID string) map[string]types.ResourceGroup

func (*ResourcePluginClient) GetResourceType

func (r *ResourcePluginClient) GetResourceType(id string) (*types.ResourceMeta, error)

func (*ResourcePluginClient) GetResourceTypes

func (r *ResourcePluginClient) GetResourceTypes(connID string) map[string]types.ResourceMeta

func (*ResourcePluginClient) HasInformer

func (r *ResourcePluginClient) HasInformer(
	_ *pkgtypes.PluginContext,
	connectionID string,
) bool

func (*ResourcePluginClient) HasResourceType

func (r *ResourcePluginClient) HasResourceType(id string) bool

func (*ResourcePluginClient) List

func (*ResourcePluginClient) ListConnections

func (r *ResourcePluginClient) ListConnections(
	ctx *pkgtypes.PluginContext,
) ([]pkgtypes.Connection, error)

func (*ResourcePluginClient) ListenForEvents

func (r *ResourcePluginClient) ListenForEvents(
	ctx *pkgtypes.PluginContext,
	addStream chan types.InformerAddPayload,
	updateStream chan types.InformerUpdatePayload,
	deleteStream chan types.InformerDeletePayload,
	stateStream chan types.InformerStateEvent,
) error

ListenForEvents listens for events from the resource provider and pipes them back to the event subsystem, stopping when stopCh is closed. This method is blocking, and should be run as part of the resourcer controller's event loop.

func (*ResourcePluginClient) LoadConnections

func (r *ResourcePluginClient) LoadConnections(
	ctx *pkgtypes.PluginContext,
) ([]pkgtypes.Connection, error)

func (*ResourcePluginClient) SetLayout

func (r *ResourcePluginClient) SetLayout(_ string, _ []types.LayoutItem) error

func (*ResourcePluginClient) StartConnection

func (r *ResourcePluginClient) StartConnection(
	ctx *pkgtypes.PluginContext,
	connectionID string,
) (pkgtypes.ConnectionStatus, error)

func (*ResourcePluginClient) StartConnectionInformer

func (r *ResourcePluginClient) StartConnectionInformer(
	ctx *pkgtypes.PluginContext,
	connectionID string,
) error

func (*ResourcePluginClient) StopConnection

func (r *ResourcePluginClient) StopConnection(
	ctx *pkgtypes.PluginContext,
	connectionID string,
) (pkgtypes.Connection, error)

func (*ResourcePluginClient) StopConnectionInformer

func (r *ResourcePluginClient) StopConnectionInformer(
	ctx *pkgtypes.PluginContext,
	connectionID string,
) error

func (*ResourcePluginClient) StreamAction

func (r *ResourcePluginClient) StreamAction(
	ctx *pkgtypes.PluginContext,
	key string,
	actionID string,
	input types.ActionInput,
	eventStream chan types.ActionEvent,
) error

func (*ResourcePluginClient) Update

func (*ResourcePluginClient) UpdateConnection

func (*ResourcePluginClient) WatchConnections

func (r *ResourcePluginClient) WatchConnections(
	ctx *pkgtypes.PluginContext,
	connStream chan []pkgtypes.Connection,
) error

ListenForEvents listens for events from the resource provider and pipes them back to the event subsystem, stopping when stopCh is closed. This method is blocking, and should be run as part of the resourcer controller's event loop.

type ResourcePluginServer

type ResourcePluginServer struct {
	proto.UnimplementedResourcePluginServer
	// This is the real implementation
	Impl types.ResourceProvider
	// contains filtered or unexported fields
}

Here is the gRPC server that GRPCClient talks to.

func (*ResourcePluginServer) Create

func (*ResourcePluginServer) Delete

func (*ResourcePluginServer) DeleteConnection

func (s *ResourcePluginServer) DeleteConnection(
	ctx context.Context,
	in *proto.ConnectionRequest,
) (*emptypb.Empty, error)

func (*ResourcePluginServer) EnsureInformerForResource

func (s *ResourcePluginServer) EnsureInformerForResource(
	ctx context.Context,
	in *proto.EnsureInformerRequest,
) (*emptypb.Empty, error)

func (*ResourcePluginServer) ExecuteAction

func (*ResourcePluginServer) Find

func (*ResourcePluginServer) Get

func (*ResourcePluginServer) GetActions

func (*ResourcePluginServer) GetConnection

func (*ResourcePluginServer) GetConnectionNamespaces

func (*ResourcePluginServer) GetDefaultLayout

func (s *ResourcePluginServer) GetDefaultLayout(
	_ context.Context,
	_ *emptypb.Empty,
) (*proto.Layout, error)

func (*ResourcePluginServer) GetEditorSchemas

func (*ResourcePluginServer) GetInformerState

func (*ResourcePluginServer) GetLayout

func (*ResourcePluginServer) GetResourceDefinition

func (*ResourcePluginServer) GetResourceGroup

func (*ResourcePluginServer) GetResourceGroups

func (*ResourcePluginServer) GetResourceType

func (*ResourcePluginServer) GetResourceTypes

func (*ResourcePluginServer) HasInformer

func (*ResourcePluginServer) HasResourceType

func (*ResourcePluginServer) List

func (*ResourcePluginServer) ListConnections

func (s *ResourcePluginServer) ListConnections(
	ctx context.Context,
	_ *emptypb.Empty,
) (*proto.ConnectionList, error)

func (*ResourcePluginServer) ListenForEvents

Namespaceless and connectionless.

func (*ResourcePluginServer) LoadConnections

func (s *ResourcePluginServer) LoadConnections(
	ctx context.Context,
	_ *emptypb.Empty,
) (*proto.ConnectionList, error)

func (*ResourcePluginServer) SetLayout

func (*ResourcePluginServer) StartConnection

func (*ResourcePluginServer) StartConnectionInformer

func (s *ResourcePluginServer) StartConnectionInformer(
	ctx context.Context,
	in *proto.StartConnectionInformerRequest,
) (*emptypb.Empty, error)

func (*ResourcePluginServer) StopConnection

func (s *ResourcePluginServer) StopConnection(
	ctx context.Context,
	in *proto.ConnectionRequest,
) (*proto.Connection, error)

func (*ResourcePluginServer) StopConnectionInformer

func (s *ResourcePluginServer) StopConnectionInformer(
	ctx context.Context,
	in *proto.StopConnectionInformerRequest,
) (*emptypb.Empty, error)

func (*ResourcePluginServer) StreamAction

func (*ResourcePluginServer) Update

func (*ResourcePluginServer) UpdateConnection

func (*ResourcePluginServer) WatchConnections

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL