action

package
v2.0.0-...-bb78925 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrSomeActionsFailed = errors.New("cache: some snapshot updates have failed")

Functions

func NewUpdateActionFactory

func NewUpdateActionFactory(envoyConfigBuilder builder.EnvoyConfigBuilder) *updateActionFactoryImpl

func NewUpdateActionsMap

func NewUpdateActionsMap() *updateActionsMap

Types

type ActionsMap

type ActionsMap interface {
	Put(entityType EnvoyEntity, granularUpdate *GranularEntityUpdate)
	CompositeAction() *CompositeUpdateAction
}

type ClusterDeleteAction

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

func NewClusterDeleteAction

func NewClusterDeleteAction(version string, cluster *domain.Cluster) *ClusterDeleteAction

func (*ClusterDeleteAction) Perform

func (action *ClusterDeleteAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type ClusterUpdateAction

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

func NewClusterUpdateAction

func NewClusterUpdateAction(envoyConfigBuilder builder.EnvoyConfigBuilder, nodeGroup, version string, newCluster *domain.Cluster) *ClusterUpdateAction

func (*ClusterUpdateAction) Perform

func (action *ClusterUpdateAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type CompositeUpdateAction

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

func NewCompositeUpdateAction

func NewCompositeUpdateAction(actions []SnapshotUpdateAction) *CompositeUpdateAction

func (*CompositeUpdateAction) Perform

func (comp *CompositeUpdateAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type DeleteAllByTypeAction

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

func NewDeleteAllByTypeAction

func NewDeleteAllByTypeAction(version string, envoyTypeURL resource.Type) *DeleteAllByTypeAction

func (*DeleteAllByTypeAction) Perform

func (action *DeleteAllByTypeAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type EnvoyEntity

type EnvoyEntity int
const (
	EnvoyCluster EnvoyEntity = iota
	EnvoyListener
	EnvoyRouteConfig
	EnvoyRuntime
)

func EnvoyEntityByTable

func EnvoyEntityByTable(tableName string) EnvoyEntity

func (EnvoyEntity) ToTypeURL

func (e EnvoyEntity) ToTypeURL() resource.Type

type GenericDeleteAction

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

func NewGenericDeleteAction

func NewGenericDeleteAction(resourceName string, envoyTypeURL string) *GenericDeleteAction

func (*GenericDeleteAction) Perform

func (action *GenericDeleteAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type GenericUpdateAction

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

func NewGenericUpdateAction

func NewGenericUpdateAction(resourceName string, envoyTypeURL resource.Type, resource types.Resource) *GenericUpdateAction

func (*GenericUpdateAction) Perform

func (action *GenericUpdateAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type GranularEntityUpdate

type GranularEntityUpdate struct {
	Action   SnapshotUpdateAction
	IsDelete bool
	// EntityId identifies entity in the envoy configuration snapshot cache.
	EntityId int32
}

GranularEntityUpdate structure is used for storing SnapshotUpdateActions in updateActionsMap, binding operation type (save or delete) and entity id (e.g. Cluster.Id) to them.

type ListenerDeleteAction

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

func NewListenerDeleteAction

func NewListenerDeleteAction(version string, listener *domain.Listener) *ListenerDeleteAction

func (*ListenerDeleteAction) Perform

func (action *ListenerDeleteAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type ListenerUpdateAction

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

func NewListenerUpdateAction

func NewListenerUpdateAction(envoyConfigBuilder builder.EnvoyConfigBuilder, version string, listener *domain.Listener, namespaceMapping string) *ListenerUpdateAction

func (*ListenerUpdateAction) Perform

func (action *ListenerUpdateAction) Perform(snapshot *cache.Snapshot) (*cache.Snapshot, error)

type RouteConfigDeleteAction

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

func NewRouteConfigDeleteAction

func NewRouteConfigDeleteAction(version string, routeConfig *domain.RouteConfiguration) *RouteConfigDeleteAction

func (*RouteConfigDeleteAction) Perform

func (action *RouteConfigDeleteAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type RouteConfigUpdateAction

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

func NewRouteConfigUpdateAction

func NewRouteConfigUpdateAction(envoyConfigBuilder builder.EnvoyConfigBuilder, version string, routeConfig *domain.RouteConfiguration) *RouteConfigUpdateAction

func (*RouteConfigUpdateAction) Perform

func (action *RouteConfigUpdateAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type RuntimeUpdateAction

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

func NewRuntimeUpdateAction

func NewRuntimeUpdateAction(envoyConfigBuilder builder.EnvoyConfigBuilder, nodeGroup string) *RuntimeUpdateAction

func (*RuntimeUpdateAction) Perform

func (a *RuntimeUpdateAction) Perform(original *cache.Snapshot) (*cache.Snapshot, error)

type SnapshotUpdateAction

type SnapshotUpdateAction interface {
	Perform(original *cache.Snapshot) (*cache.Snapshot, error)
}

type UpdateActionFactory

type UpdateActionFactory interface {
	ClusterUpdateAction(nodeGroup, version string, entity interface{}) SnapshotUpdateAction
	ClusterDeleteAction(version string, entity interface{}) SnapshotUpdateAction
	ListenerUpdateAction(version string, entity interface{}) SnapshotUpdateAction
	ListenerDeleteAction(version string, entity interface{}) SnapshotUpdateAction
	RouteConfigUpdateAction(version string, entity interface{}) SnapshotUpdateAction
	RouteConfigDeleteAction(version string, entity interface{}) SnapshotUpdateAction
	RuntimeUpdateAction(nodeGroup string) SnapshotUpdateAction
	DeleteAllClustersAction(version string) SnapshotUpdateAction
	DeleteAllListenersAction(version string) SnapshotUpdateAction
	DeleteAllRouteConfigsAction(version string) SnapshotUpdateAction
	ClusterUpdate(nodeGroup, version string, entity interface{}) GranularEntityUpdate
	ClusterDelete(nodeGroup, version string, entity interface{}) GranularEntityUpdate
	ListenerUpdate(nodeGroup, version string, entity interface{}) GranularEntityUpdate
	ListenerDelete(nodeGroup, version string, entity interface{}) GranularEntityUpdate
	RouteConfigUpdate(nodeGroup, version string, entity interface{}) GranularEntityUpdate
	RouteConfigDelete(nodeGroup, version string, entity interface{}) GranularEntityUpdate
	RuntimeUpdate(nodeGroup, version string, entity interface{}) GranularEntityUpdate
}

type UpdateActionProvider

type UpdateActionProvider func(nodeGroup, version string, entity interface{}) SnapshotUpdateAction

Jump to

Keyboard shortcuts

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