controller

package
v0.20.0-m1 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClusterIPService         = "ClusterIPService"
	HeadlessServicePod       = "HeadlessServicePod"
	HeadlessServiceEndpoints = "HeadlessServiceEndpoints"
)
View Source
const (
	LegacySourceNameLabel    = "lighthouse.submariner.io/sourceName"
	LegacySourceClusterLabel = "lighthouse.submariner.io/sourceCluster"
)
View Source
const (
	ExportFailedReason                   = "ExportFailed"
	TypeConflictReason                   = "ConflictingType"
	PortConflictReason                   = "ConflictingPorts"
	SessionAffinityConflictReason        = "ConflictingSessionAffinity"
	SessionAffinityConfigConflictReason  = "ConflictingSessionAffinityConfig"
	ClusterSetIPEnablementConflictReason = "ConflictingClusterSetIPEnablement"
)

Variables

This section is empty.

Functions

func FindServiceExportStatusCondition added in v0.14.0

func FindServiceExportStatusCondition(conditions []mcsv1a1.ServiceExportCondition,
	condType mcsv1a1.ServiceExportConditionType,
) *mcsv1a1.ServiceExportCondition

func GetGlobalIngressIPObj added in v0.10.1

func GetGlobalIngressIPObj() *unstructured.Unstructured

Types

type AgentConfig added in v0.9.0

type AgentConfig struct {
	ServiceImportCounterName string
	ServiceExportCounterName string
	IPPool                   *ipam.IPPool
}

type AgentSpecification

type AgentSpecification struct {
	ClusterID           string
	Namespace           string
	Verbosity           int
	ClustersetIPCidr    string `split_words:"true"`
	ClustersetIPEnabled bool   `split_words:"true"`
	GlobalnetEnabled    bool   `split_words:"true"`
	Uninstall           bool
	HaltOnCertError     bool `split_words:"true"`
	Debug               bool
}

type AggregatedServiceImportGetterFn added in v0.19.0

type AggregatedServiceImportGetterFn func(serviceName string, serviceNamespace string) *mcsv1a1.ServiceImport

type Controller

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

func New

func New(spec *AgentSpecification, syncerConf broker.SyncerConfig, agentConfig AgentConfig) (*Controller, error)

func (*Controller) Cleanup added in v0.12.0

func (a *Controller) Cleanup(ctx context.Context) error

func (*Controller) Start added in v0.6.0

func (a *Controller) Start(stopCh <-chan struct{}) error

type EndpointSliceController added in v0.15.0

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

EndpointSliceController encapsulates a syncer that syncs EndpointSlices to and from that broker.

type EndpointSliceListerFn added in v0.16.1

type EndpointSliceListerFn func(selector k8slabels.Selector) []runtime.Object

type IngressIP added in v0.10.1

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

type ServiceEndpointSliceController added in v0.16.0

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

Each ServiceEndpointSliceController watches for the EndpointSlices that backs a Service and have a ServiceImport. It creates LH EndpointSlices corresponding to service EndpointSlices that are distributed to other clusters.

func (*ServiceEndpointSliceController) Delete added in v0.16.0

func (*ServiceEndpointSliceController) Distribute added in v0.16.0

type ServiceExportClient added in v0.15.0

type ServiceExportClient struct {
	dynamic.NamespaceableResourceInterface
	// contains filtered or unexported fields
}

func NewServiceExportClient added in v0.19.0

func NewServiceExportClient(client dynamic.Interface, scheme *runtime.Scheme) *ServiceExportClient

func (*ServiceExportClient) UpdateStatusConditions added in v0.19.0

func (c *ServiceExportClient) UpdateStatusConditions(ctx context.Context, name, namespace string,
	conditions ...mcsv1a1.ServiceExportCondition,
)

type ServiceImportAggregator added in v0.15.0

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

type ServiceImportController added in v0.7.0

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

The ServiceImportController encapsulates two resource syncers; one that watches for local cluster ServiceImports from the submariner namespace and creates/updates the aggregated ServiceImport on the broker; the other that syncs aggregated ServiceImports from the broker to the local service namespace. It also creates a ServiceEndpointSliceController.

func (*ServiceImportController) Delete added in v0.15.0

func (*ServiceImportController) Distribute added in v0.15.0

func (c *ServiceImportController) Distribute(ctx context.Context, obj runtime.Object) error

type ServiceImportMigrator added in v0.15.0

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

ServiceImportMigrator handles migration from the legacy per-cluster ServiceImports to aggregated ServiceImports added in 0.15.

Jump to

Keyboard shortcuts

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