discovery

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2021 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package discovery implements the logic of the discovery of other clusters, both on local networks and in wide area networks

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthData

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

AuthData contains the information exchanged with the discovery methods on how to contact a remote Authentication Service.

func NewAuthData

func NewAuthData(address string, port int, ttl uint32) *AuthData

NewAuthData creates a new AuthData struct.

func (*AuthData) Get

func (authData *AuthData) Get(discovery *Controller, entry *zeroconf.ServiceEntry) error

Get decodes and populates the AuthData struct given a discovery Controller and a DNS entry.

func (*AuthData) IsComplete

func (authData *AuthData) IsComplete() bool

IsComplete checks if both address and port are correctly set.

type Controller added in v0.3.0

type Controller struct {
	client.Client

	LocalClusterID clusterid.ClusterID
	// contains filtered or unexported fields
}

Controller is the controller for the discovery functionalities.

func NewDiscoveryCtrl

func NewDiscoveryCtrl(cl, namespacedClient client.Client, namespace string,
	localClusterID clusterid.ClusterID, config MDNSConfig, dialTCPTimeout time.Duration) *Controller

NewDiscoveryCtrl returns a new discovery controller.

func (*Controller) Start added in v0.3.0

func (discovery *Controller) Start(ctx context.Context) error

Start starts the discovery logic.

func (*Controller) UpdateForeignWAN added in v0.3.0

func (discovery *Controller) UpdateForeignWAN(data []*AuthData, sd *v1alpha1.SearchDomain) []*v1alpha1.ForeignCluster

UpdateForeignWAN updates the list of known foreign clusters: for each cluster retrieved with DNS discovery, if it is not the local cluster, check if it is already known, if not create it. In both cases update the ForeignCluster TTL This function also sets an owner reference and a label to the ForeignCluster pointing to the SearchDomain CR.

type MDNSConfig added in v0.3.0

type MDNSConfig struct {
	EnableAdvertisement bool
	EnableDiscovery     bool

	Service string
	Domain  string
	TTL     time.Duration

	ResolveRefreshTime time.Duration
}

MDNSConfig defines the configuration parameters for the mDNS service.

Directories

Path Synopsis
Package foreignclusteroperator implements the logic of the ForeignCluster Operator
Package foreignclusteroperator implements the logic of the ForeignCluster Operator
Package searchdomainoperator implements the logic of the SearchDomain Operator
Package searchdomainoperator implements the logic of the SearchDomain Operator
Package utils contains functions useful for the discovery component, in particular during the communications with a remote cluster.
Package utils contains functions useful for the discovery component, in particular during the communications with a remote cluster.

Jump to

Keyboard shortcuts

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