agentfunctions

package
v0.25.1 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2023 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

+kubebuilder:validation:Optional

Index

Constants

View Source
const ConfigKey = "agent_functions"

ConfigKey is the key for agentfunctions configuration.

Variables

Module provides rpc client for agent functions.

Functions

func RegisterClient

func RegisterClient(in RegisterClientIn) error

RegisterClient registers a client which will allow calling agent functions from controller.

func RegisterControlPointsHandler

func RegisterControlPointsHandler(handler ControlPointsHandler, registry *rpc.HandlerRegistry) error

RegisterControlPointsHandler registers ControlPointsHandler in handler registry.

func RegisterPreviewHandler

func RegisterPreviewHandler(handler *PreviewHandler, registry *rpc.HandlerRegistry) error

RegisterPreviewHandler registers PreviewHandler in handler registry.

Types

type ClientConfig

type ClientConfig struct {
	// GRPC client settings.
	GRPCClient grpcclient.GRPCClientConfig `json:"grpc"`
}

ClientConfig is configuration for network clients used by agent-functions. swagger:model +kubebuilder:object:generate=true

func (*ClientConfig) DeepCopy

func (in *ClientConfig) DeepCopy() *ClientConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientConfig.

func (*ClientConfig) DeepCopyInto

func (in *ClientConfig) DeepCopyInto(out *ClientConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Config

type Config struct {
	// RPC servers to connect to (which will be able to call agent functions)
	Endpoints []string `json:"endpoints,omitempty" validate:"omitempty,dive,omitempty"`

	// Network client configuration
	ClientConfig ClientConfig `json:"client"`
}

Config is configuration for agent functions. swagger:model +kubebuilder:object:generate=true

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControlPointsHandler

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

ControlPointsHandler is a handler for ListControlPoints function

Note: There's no requirement every handler needs to be in a separate struct. More methods can be added to this one.

func NewControlPointsHandler

func NewControlPointsHandler(
	cache *cache.Cache[selectors.ControlPointID],
	agentInfo *agentinfo.AgentInfo,
) ControlPointsHandler

NewControlPointsHandler returns a new ControlPointsHandler.

func (*ControlPointsHandler) ListControlPoints

ListControlPoints lists currently discovered control points.

type PreviewHandler

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

PreviewHandler is a handler for preview-family of functions.

Simply forwards methods to grpc handler, which provides actual implementation.

func ProvidePreviewHandler

func ProvidePreviewHandler(
	handler *preview.Handler,
	unmarshaller config.Unmarshaller,
) (*PreviewHandler, error)

ProvidePreviewHandler provides PreviewHandler.

func (*PreviewHandler) PreviewFlowLabels

PreviewFlowLabels previews flow labels on given control point.

func (*PreviewHandler) PreviewHTTPRequests

PreviewHTTPRequests previews HTTP requests on given control point.

type RegisterClientIn

type RegisterClientIn struct {
	fx.In
	Lc           fx.Lifecycle
	Unmarshaller config.Unmarshaller
	Handlers     *rpc.HandlerRegistry
	ConnBuilder  grpcclient.ClientConnectionBuilder `name:"agent-functions"`
}

RegisterClientIn are parameters for InvokeClient function.

Directories

Path Synopsis
Server-side for handling agent functions
Server-side for handling agent functions

Jump to

Keyboard shortcuts

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