gatewaydns

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2022 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EndpointSliceKey

func EndpointSliceKey(endpointSlice discoveryv1.EndpointSlice) string

Types

type ClusterDiff

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

type ClusterGateway

type ClusterGateway struct {
	ClusterNamespacedName    types.NamespacedName
	Gateway                  *corev1.Service
	Unreachable              bool
	DomainSuffix             string
	ControllerNamespace      string // xcc-test by default, where xcc-dns-controller and dns-server are deployed
	GatewayDNSNamespacedName types.NamespacedName
}

func (ClusterGateway) EndpointSliceKey

func (cg ClusterGateway) EndpointSliceKey() string

func (ClusterGateway) ToEndpointSlice

func (cg ClusterGateway) ToEndpointSlice() discoveryv1.EndpointSlice

type ClusterGatewayCollector

type ClusterGatewayCollector struct {
	Log            logr.Logger
	ClientProvider clientProvider
	DomainSuffix   string
	Namespace      string
}

func (*ClusterGatewayCollector) GetGatewaysForClusters

func (e *ClusterGatewayCollector) GetGatewaysForClusters(ctx context.Context,
	gatewayDNS connectivityv1alpha1.GatewayDNS,
	clusters []clusterv1beta1.Cluster) []ClusterGateway

type ClusterSearcher

type ClusterSearcher struct {
	client.Client
}

func (*ClusterSearcher) ListMatchingClusters

func (cs *ClusterSearcher) ListMatchingClusters(ctx context.Context,
	gatewayDNS connectivityv1alpha1.GatewayDNS) ([]clusterv1beta1.Cluster, error)

type EndpointSliceReconciler

type EndpointSliceReconciler struct {
	ClientProvider clientProvider
	Namespace      string
	Log            logr.Logger
}

func (*EndpointSliceReconciler) ConvergeToClusters

func (e *EndpointSliceReconciler) ConvergeToClusters(ctx context.Context,
	clusters []clusterv1beta1.Cluster, gatewayDNSNamespacedName types.NamespacedName, desiredClusterGateways []ClusterGateway) []error

type GatewayDNSReconciler

type GatewayDNSReconciler struct {
	client.Client
	Log                     logr.Logger
	Scheme                  *runtime.Scheme
	ClientProvider          clientProvider
	ClusterSearcher         *ClusterSearcher
	EndpointSliceReconciler *EndpointSliceReconciler
	ClusterGatewayCollector *ClusterGatewayCollector

	// PollingInterval defaults to 30 seconds if not provided
	PollingInterval time.Duration
}

GatewayDNSReconciler reconciles a GatewayDNS object

func (*GatewayDNSReconciler) ClusterToGatewayDNS

func (r *GatewayDNSReconciler) ClusterToGatewayDNS(o client.Object) []reconcile.Request

func (*GatewayDNSReconciler) PollGatewayDNS

func (r *GatewayDNSReconciler) PollGatewayDNS() <-chan event.GenericEvent

func (*GatewayDNSReconciler) Reconcile

func (r *GatewayDNSReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*GatewayDNSReconciler) SetupWithManager

func (r *GatewayDNSReconciler) SetupWithManager(mgr ctrl.Manager) error

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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