controllers

package
v1.9.7 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2023 License: Apache-2.0 Imports: 79 Imported by: 0

Documentation

Overview

Package mock_controllers is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AzureClusterToAzureMachinesMapper added in v0.4.6

func AzureClusterToAzureMachinesMapper(ctx context.Context, c client.Client, obj runtime.Object, scheme *runtime.Scheme, log logr.Logger) (handler.MapFunc, error)

AzureClusterToAzureMachinesMapper creates a mapping handler to transform AzureClusters into AzureMachines. The transform requires AzureCluster to map to the owning Cluster, then from the Cluster, collect the Machines belonging to the cluster, then finally projecting the infrastructure reference to the AzureMachine.

func AzureManagedClusterToAzureManagedControlPlaneMapper added in v1.8.0

func AzureManagedClusterToAzureManagedControlPlaneMapper(ctx context.Context, c client.Client, log logr.Logger) (handler.MapFunc, error)

AzureManagedClusterToAzureManagedControlPlaneMapper creates a mapping handler to transform AzureManagedClusters into AzureManagedControlPlane. The transform requires AzureManagedCluster to map to the owning Cluster, then from the Cluster, collect the control plane infrastructure reference.

func AzureManagedClusterToAzureManagedMachinePoolsMapper added in v1.8.0

func AzureManagedClusterToAzureManagedMachinePoolsMapper(ctx context.Context, c client.Client, scheme *runtime.Scheme, log logr.Logger) (handler.MapFunc, error)

AzureManagedClusterToAzureManagedMachinePoolsMapper creates a mapping handler to transform AzureManagedClusters into AzureManagedMachinePools. The transform requires AzureManagedCluster to map to the owning Cluster, then from the Cluster, collect the MachinePools belonging to the cluster, then finally projecting the infrastructure reference to the AzureManagedMachinePools.

func AzureManagedControlPlaneToAzureManagedClusterMapper added in v1.8.0

func AzureManagedControlPlaneToAzureManagedClusterMapper(ctx context.Context, c client.Client, log logr.Logger) (handler.MapFunc, error)

AzureManagedControlPlaneToAzureManagedClusterMapper creates a mapping handler to transform AzureManagedClusters into AzureManagedControlPlane. The transform requires AzureManagedCluster to map to the owning Cluster, then from the Cluster, collect the control plane infrastructure reference.

func AzureManagedControlPlaneToAzureManagedMachinePoolsMapper added in v1.8.0

func AzureManagedControlPlaneToAzureManagedMachinePoolsMapper(ctx context.Context, c client.Client, scheme *runtime.Scheme, log logr.Logger) (handler.MapFunc, error)

AzureManagedControlPlaneToAzureManagedMachinePoolsMapper creates a mapping handler to transform AzureManagedControlPlanes into AzureManagedMachinePools. The transform requires AzureManagedControlPlane to map to the owning Cluster, then from the Cluster, collect the MachinePools belonging to the cluster, then finally projecting the infrastructure reference to the AzureManagedMachinePools.

func EnsureClusterIdentity added in v1.4.3

func EnsureClusterIdentity(ctx context.Context, c client.Client, object conditions.Setter, identityRef *corev1.ObjectReference, finalizerPrefix string) error

EnsureClusterIdentity ensures that the identity ref is allowed in the namespace and sets a finalizer.

func GetAzureMachinePoolByName added in v0.5.0

func GetAzureMachinePoolByName(ctx context.Context, c client.Client, namespace, name string) (*infrav1exp.AzureMachinePool, error)

GetAzureMachinePoolByName finds and return an AzureMachinePool object using the specified params.

func GetCloudProviderSecret added in v0.4.7

func GetCloudProviderSecret(d azure.ClusterScoper, namespace, name string, owner metav1.OwnerReference, identityType infrav1.VMIdentity, userIdentityID string) (*corev1.Secret, error)

GetCloudProviderSecret returns the required azure json secret for the provided parameters.

func GetClusterIdentityFromRef added in v0.4.11

func GetClusterIdentityFromRef(ctx context.Context, c client.Client, azureClusterNamespace string, ref *corev1.ObjectReference) (*infrav1.AzureClusterIdentity, error)

GetClusterIdentityFromRef returns the AzureClusterIdentity referenced by the AzureCluster.

func GetMachinePoolByName added in v0.4.7

func GetMachinePoolByName(ctx context.Context, c client.Client, namespace, name string) (*expv1.MachinePool, error)

GetMachinePoolByName finds and return a MachinePool object using the specified params.

func GetObjectsToRequestsByNamespaceAndClusterName added in v0.4.6

func GetObjectsToRequestsByNamespaceAndClusterName(ctx context.Context, c client.Client, clusterKey client.ObjectKey, list *unstructured.UnstructuredList) []ctrl.Request

GetObjectsToRequestsByNamespaceAndClusterName returns the slice of ctrl.Requests consisting the list items contained in the unstructured list.

func GetOwnerAzureMachinePool added in v0.5.0

func GetOwnerAzureMachinePool(ctx context.Context, c client.Client, obj metav1.ObjectMeta) (*infrav1exp.AzureMachinePool, error)

GetOwnerAzureMachinePool returns the AzureMachinePool object owning the current resource.

func GetOwnerClusterName added in v0.4.6

func GetOwnerClusterName(obj metav1.ObjectMeta) (string, bool)

GetOwnerClusterName returns the name of the owning Cluster by finding a clusterv1.Cluster in the ownership references.

func GetOwnerMachinePool added in v0.4.7

func GetOwnerMachinePool(ctx context.Context, c client.Client, obj metav1.ObjectMeta) (*expv1.MachinePool, error)

GetOwnerMachinePool returns the MachinePool object owning the current resource.

func MachinePoolToAzureManagedControlPlaneMapFunc added in v1.8.0

func MachinePoolToAzureManagedControlPlaneMapFunc(ctx context.Context, c client.Client, gvk schema.GroupVersionKind, log logr.Logger) handler.MapFunc

MachinePoolToAzureManagedControlPlaneMapFunc returns a handler.MapFunc that watches for MachinePool events and returns reconciliation requests for a control plane object.

func MachinePoolToInfrastructureMapFunc added in v1.8.0

func MachinePoolToInfrastructureMapFunc(gvk schema.GroupVersionKind, log logr.Logger) handler.MapFunc

MachinePoolToInfrastructureMapFunc returns a handler.MapFunc that watches for MachinePool events and returns reconciliation requests for an infrastructure provider object.

func RemoveClusterIdentityFinalizer added in v1.4.3

func RemoveClusterIdentityFinalizer(ctx context.Context, c client.Client, object client.Object, identityRef *corev1.ObjectReference, finalizerPrefix string) error

RemoveClusterIdentityFinalizer removes the finalizer on an AzureClusterIdentity.

func ShouldDeleteIndividualResources added in v0.4.9

func ShouldDeleteIndividualResources(ctx context.Context, clusterScope *scope.ClusterScope) bool

ShouldDeleteIndividualResources returns false if the resource group is managed and the whole cluster is being deleted meaning that we can rely on a single resource group delete operation as opposed to deleting every individual VM resource.

Types

type AgentPoolVMSSNotFoundError added in v1.8.0

type AgentPoolVMSSNotFoundError struct {
	NodeResourceGroup string
	PoolName          string
}

AgentPoolVMSSNotFoundError represents a reconcile error when the VMSS for an agent pool can't be found.

func NewAgentPoolVMSSNotFoundError added in v1.8.0

func NewAgentPoolVMSSNotFoundError(nodeResourceGroup, poolName string) *AgentPoolVMSSNotFoundError

NewAgentPoolVMSSNotFoundError creates a new AgentPoolVMSSNotFoundError.

func (*AgentPoolVMSSNotFoundError) Error added in v1.8.0

func (*AgentPoolVMSSNotFoundError) Is added in v1.8.0

func (a *AgentPoolVMSSNotFoundError) Is(target error) bool

Is returns true if the target error is an `AgentPoolVMSSNotFoundError`.

type AzureClusterReconciler

type AzureClusterReconciler struct {
	client.Client
	Recorder         record.EventRecorder
	ReconcileTimeout time.Duration
	WatchFilterValue string
	// contains filtered or unexported fields
}

AzureClusterReconciler reconciles an AzureCluster object.

func NewAzureClusterReconciler added in v0.4.11

func NewAzureClusterReconciler(client client.Client, recorder record.EventRecorder, reconcileTimeout time.Duration, watchFilterValue string) *AzureClusterReconciler

NewAzureClusterReconciler returns a new AzureClusterReconciler instance.

func (*AzureClusterReconciler) Reconcile

func (acr *AzureClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error)

Reconcile idempotently gets, creates, and updates a cluster.

func (*AzureClusterReconciler) SetupWithManager

func (acr *AzureClusterReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, options Options) error

SetupWithManager initializes this controller with a manager.

type AzureIdentityReconciler added in v0.4.11

type AzureIdentityReconciler struct {
	client.Client
	Recorder         record.EventRecorder
	ReconcileTimeout time.Duration
	WatchFilterValue string
}

AzureIdentityReconciler reconciles Azure identity objects.

func (*AzureIdentityReconciler) Reconcile added in v0.4.11

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

Reconcile reconciles the Azure identity.

func (*AzureIdentityReconciler) SetupWithManager added in v0.4.11

func (r *AzureIdentityReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, options controller.Options) error

SetupWithManager initializes this controller with a manager.

type AzureJSONMachinePoolReconciler added in v0.4.7

type AzureJSONMachinePoolReconciler struct {
	client.Client
	Recorder         record.EventRecorder
	ReconcileTimeout time.Duration
	WatchFilterValue string
}

AzureJSONMachinePoolReconciler reconciles Azure json secrets for AzureMachinePool objects.

func (*AzureJSONMachinePoolReconciler) Reconcile added in v0.4.7

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

Reconcile reconciles the Azure json for AzureMachinePool objects.

func (*AzureJSONMachinePoolReconciler) SetupWithManager added in v0.4.7

func (r *AzureJSONMachinePoolReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, options controller.Options) error

SetupWithManager initializes this controller with a manager.

type AzureJSONMachineReconciler added in v0.4.7

type AzureJSONMachineReconciler struct {
	client.Client
	Recorder         record.EventRecorder
	ReconcileTimeout time.Duration
	WatchFilterValue string
}

AzureJSONMachineReconciler reconciles Azure json secrets for AzureMachine objects.

func (*AzureJSONMachineReconciler) Reconcile added in v0.4.7

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

Reconcile reconciles the Azure json for a specific machine not in a machine deployment.

func (*AzureJSONMachineReconciler) SetupWithManager added in v0.4.7

func (r *AzureJSONMachineReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, options controller.Options) error

SetupWithManager initializes this controller with a manager.

type AzureJSONTemplateReconciler added in v0.4.7

type AzureJSONTemplateReconciler struct {
	client.Client
	Recorder         record.EventRecorder
	ReconcileTimeout time.Duration
	WatchFilterValue string
}

AzureJSONTemplateReconciler reconciles Azure json secrets for AzureMachineTemplate objects.

func (*AzureJSONTemplateReconciler) Reconcile added in v0.4.7

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

Reconcile reconciles Azure json secrets for Azure machine templates.

func (*AzureJSONTemplateReconciler) SetupWithManager added in v0.4.7

func (r *AzureJSONTemplateReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, options controller.Options) error

SetupWithManager initializes this controller with a manager.

type AzureMachineReconciler

type AzureMachineReconciler struct {
	client.Client
	Recorder         record.EventRecorder
	ReconcileTimeout time.Duration
	WatchFilterValue string
	// contains filtered or unexported fields
}

AzureMachineReconciler reconciles an AzureMachine object.

func NewAzureMachineReconciler added in v0.4.11

func NewAzureMachineReconciler(client client.Client, recorder record.EventRecorder, reconcileTimeout time.Duration, watchFilterValue string) *AzureMachineReconciler

NewAzureMachineReconciler returns a new AzureMachineReconciler instance.

func (*AzureMachineReconciler) Reconcile

func (amr *AzureMachineReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error)

Reconcile idempotently gets, creates, and updates a machine.

func (*AzureMachineReconciler) SetupWithManager

func (amr *AzureMachineReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, options Options) error

SetupWithManager initializes this controller with a manager.

type AzureManagedClusterReconciler added in v1.8.0

type AzureManagedClusterReconciler struct {
	client.Client
	Recorder         record.EventRecorder
	ReconcileTimeout time.Duration
	WatchFilterValue string
}

AzureManagedClusterReconciler reconciles an AzureManagedCluster object.

func (*AzureManagedClusterReconciler) Reconcile added in v1.8.0

func (amcr *AzureManagedClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error)

Reconcile idempotently gets, creates, and updates a managed cluster.

func (*AzureManagedClusterReconciler) SetupWithManager added in v1.8.0

func (amcr *AzureManagedClusterReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, options Options) error

SetupWithManager initializes this controller with a manager.

type AzureManagedControlPlaneReconciler added in v1.8.0

type AzureManagedControlPlaneReconciler struct {
	client.Client
	Recorder         record.EventRecorder
	ReconcileTimeout time.Duration
	WatchFilterValue string
}

AzureManagedControlPlaneReconciler reconciles an AzureManagedControlPlane object.

func (*AzureManagedControlPlaneReconciler) ClusterToAzureManagedControlPlane added in v1.8.7

func (amcpr *AzureManagedControlPlaneReconciler) ClusterToAzureManagedControlPlane(o client.Object) []ctrl.Request

ClusterToAzureManagedControlPlane is a handler.ToRequestsFunc to be used to enqueue requests for reconciliation for AzureManagedControlPlane based on updates to a Cluster.

func (*AzureManagedControlPlaneReconciler) Reconcile added in v1.8.0

func (amcpr *AzureManagedControlPlaneReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error)

Reconcile idempotently gets, creates, and updates a managed control plane.

func (*AzureManagedControlPlaneReconciler) SetupWithManager added in v1.8.0

func (amcpr *AzureManagedControlPlaneReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, options Options) error

SetupWithManager initializes this controller with a manager.

type AzureManagedMachinePoolReconciler added in v1.8.0

type AzureManagedMachinePoolReconciler struct {
	client.Client
	Recorder         record.EventRecorder
	ReconcileTimeout time.Duration
	WatchFilterValue string
	// contains filtered or unexported fields
}

AzureManagedMachinePoolReconciler reconciles an AzureManagedMachinePool object.

func NewAzureManagedMachinePoolReconciler added in v1.8.0

func NewAzureManagedMachinePoolReconciler(client client.Client, recorder record.EventRecorder, reconcileTimeout time.Duration, watchFilterValue string) *AzureManagedMachinePoolReconciler

NewAzureManagedMachinePoolReconciler returns a new AzureManagedMachinePoolReconciler instance.

func (*AzureManagedMachinePoolReconciler) Reconcile added in v1.8.0

func (ammpr *AzureManagedMachinePoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error)

Reconcile idempotently gets, creates, and updates a machine pool.

func (*AzureManagedMachinePoolReconciler) SetupWithManager added in v1.8.0

func (ammpr *AzureManagedMachinePoolReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, options Options) error

SetupWithManager initializes this controller with a manager.

type BackOffConfig added in v0.5.0

type BackOffConfig struct {
	CloudProviderBackoff         bool    `json:"cloudProviderBackoff,omitempty"`
	CloudProviderBackoffRetries  int     `json:"cloudProviderBackoffRetries,omitempty"`
	CloudProviderBackoffExponent float64 `json:"cloudProviderBackoffExponent,omitempty"`
	CloudProviderBackoffDuration int     `json:"cloudProviderBackoffDuration,omitempty"`
	CloudProviderBackoffJitter   float64 `json:"cloudProviderBackoffJitter,omitempty"`
}

BackOffConfig indicates the back-off config options. This is a copy of the struct used in cloud-provider-azure: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/azureclients/azure_client_config.go#L48

type CloudProviderConfig added in v0.4.7

type CloudProviderConfig struct {
	Cloud                        string `json:"cloud"`
	TenantID                     string `json:"tenantId"`
	SubscriptionID               string `json:"subscriptionId"`
	AadClientID                  string `json:"aadClientId,omitempty"`
	AadClientSecret              string `json:"aadClientSecret,omitempty"`
	ResourceGroup                string `json:"resourceGroup"`
	SecurityGroupName            string `json:"securityGroupName"`
	SecurityGroupResourceGroup   string `json:"securityGroupResourceGroup"`
	Location                     string `json:"location"`
	ExtendedLocationType         string `json:"extendedLocationType,omitempty"`
	ExtendedLocationName         string `json:"extendedLocationName,omitempty"`
	VMType                       string `json:"vmType"`
	VnetName                     string `json:"vnetName"`
	VnetResourceGroup            string `json:"vnetResourceGroup"`
	SubnetName                   string `json:"subnetName"`
	RouteTableName               string `json:"routeTableName"`
	LoadBalancerSku              string `json:"loadBalancerSku"`
	LoadBalancerName             string `json:"loadBalancerName"`
	MaximumLoadBalancerRuleCount int    `json:"maximumLoadBalancerRuleCount"`
	UseManagedIdentityExtension  bool   `json:"useManagedIdentityExtension"`
	UseInstanceMetadata          bool   `json:"useInstanceMetadata"`
	EnableVmssFlexNodes          bool   `json:"enableVmssFlexNodes,omitempty"`
	UserAssignedIdentityID       string `json:"userAssignedIdentityID,omitempty"`
	CloudProviderRateLimitConfig
	BackOffConfig
}

CloudProviderConfig is an abbreviated version of the same struct in k/k.

type CloudProviderRateLimitConfig added in v0.5.0

type CloudProviderRateLimitConfig struct {
	RateLimitConfig

	RouteRateLimit                  *RateLimitConfig `json:"routeRateLimit,omitempty"`
	SubnetsRateLimit                *RateLimitConfig `json:"subnetsRateLimit,omitempty"`
	InterfaceRateLimit              *RateLimitConfig `json:"interfaceRateLimit,omitempty"`
	RouteTableRateLimit             *RateLimitConfig `json:"routeTableRateLimit,omitempty"`
	LoadBalancerRateLimit           *RateLimitConfig `json:"loadBalancerRateLimit,omitempty"`
	PublicIPAddressRateLimit        *RateLimitConfig `json:"publicIPAddressRateLimit,omitempty"`
	SecurityGroupRateLimit          *RateLimitConfig `json:"securityGroupRateLimit,omitempty"`
	VirtualMachineRateLimit         *RateLimitConfig `json:"virtualMachineRateLimit,omitempty"`
	StorageAccountRateLimit         *RateLimitConfig `json:"storageAccountRateLimit,omitempty"`
	DiskRateLimit                   *RateLimitConfig `json:"diskRateLimit,omitempty"`
	SnapshotRateLimit               *RateLimitConfig `json:"snapshotRateLimit,omitempty"`
	VirtualMachineScaleSetRateLimit *RateLimitConfig `json:"virtualMachineScaleSetRateLimit,omitempty"`
	VirtualMachineSizeRateLimit     *RateLimitConfig `json:"virtualMachineSizesRateLimit,omitempty"`
	AvailabilitySetRateLimit        *RateLimitConfig `json:"availabilitySetRateLimit,omitempty"`
}

CloudProviderRateLimitConfig represents the rate limiting configurations in azure cloud provider config. See: https://cloud-provider-azure.sigs.k8s.io/install/configs/#per-client-rate-limiting. This is a copy of the struct used in cloud-provider-azure: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/provider/azure_ratelimit.go#L25

type MockNodeLister added in v1.8.0

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

MockNodeLister is a mock of NodeLister interface.

func NewMockNodeLister added in v1.8.0

func NewMockNodeLister(ctrl *gomock.Controller) *MockNodeLister

NewMockNodeLister creates a new mock instance.

func (*MockNodeLister) EXPECT added in v1.8.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockNodeLister) List added in v1.8.0

List mocks base method.

func (*MockNodeLister) ListInstances added in v1.8.0

func (m *MockNodeLister) ListInstances(arg0 context.Context, arg1, arg2 string) ([]compute.VirtualMachineScaleSetVM, error)

ListInstances mocks base method.

type MockNodeListerMockRecorder added in v1.8.0

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

MockNodeListerMockRecorder is the mock recorder for MockNodeLister.

func (*MockNodeListerMockRecorder) List added in v1.8.0

func (mr *MockNodeListerMockRecorder) List(arg0, arg1 interface{}) *gomock.Call

List indicates an expected call of List.

func (*MockNodeListerMockRecorder) ListInstances added in v1.8.0

func (mr *MockNodeListerMockRecorder) ListInstances(arg0, arg1, arg2 interface{}) *gomock.Call

ListInstances indicates an expected call of ListInstances.

type NodeLister added in v1.8.0

type NodeLister interface {
	ListInstances(context.Context, string, string) ([]compute.VirtualMachineScaleSetVM, error)
	List(context.Context, string) ([]compute.VirtualMachineScaleSet, error)
}

NodeLister is a service interface for returning generic lists.

type Options added in v0.5.0

type Options struct {
	controller.Options
	Cache *coalescing.ReconcileCache
}

Options are controller options extended.

type RateLimitConfig added in v0.5.0

type RateLimitConfig struct {
	CloudProviderRateLimit            bool    `json:"cloudProviderRateLimit,omitempty"`
	CloudProviderRateLimitQPS         float32 `json:"cloudProviderRateLimitQPS,omitempty"`
	CloudProviderRateLimitBucket      int     `json:"cloudProviderRateLimitBucket,omitempty"`
	CloudProviderRateLimitQPSWrite    float32 `json:"cloudProviderRateLimitQPSWrite,omitempty"`
	CloudProviderRateLimitBucketWrite int     `json:"cloudProviderRateLimitBucketWrite,omitempty"`
}

RateLimitConfig indicates the rate limit config options. This is a copy of the struct used in cloud-provider-azure: https://github.com/kubernetes-sigs/cloud-provider-azure/blob/d585c2031925b39c925624302f22f8856e29e352/pkg/azureclients/azure_client_config.go#L48

Jump to

Keyboard shortcuts

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