cloud

package
v0.0.0-...-2d9dd87 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package cloud implements an in memory cloud provider.

Cloud provider objects are grouped in resource groups, similarly to resource groups in Azure.

Cloud provider objects are defined like Kubernetes objects and they can be operated with a client inspired from the controller-runtime client.

We can't use controller-runtime directly for the following reasons: * multi-cluster (we have resourceGroups to differentiate resources belonging to different clusters) * data should be stored in-memory * we would like that objects in memory behave like Kubernetes objects (garbage collection)

The Manager, is the object responsible for the lifecycle of objects; it also allows defining controllers.

Index

Constants

This section is empty.

Variables

View Source
var (
	// NewManager returns a new Manager for creating Controllers.
	NewManager = cmanager.New

	// NewControllerManagedBy returns a new controller builder that will be started by the provided Manager.
	NewControllerManagedBy = cbuilder.ControllerManagedBy
)

Functions

This section is empty.

Types

type Client

type Client cclient.Client

Client knows how to perform CRUD operations on resources in a resource group.

type Manager

type Manager cmanager.Manager

Manager initializes shared dependencies such as Caches and Clients, and provides them to Runnables. A Manager is required to create Controllers.

type Object

type Object client.Object

Object represents an object.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the cloud v1alpha1 API group +kubebuilder:object:generate=true +groupName=virtual.cluster.x-k8s.io
Package v1alpha1 contains API Schema definitions for the cloud v1alpha1 API group +kubebuilder:object:generate=true +groupName=virtual.cluster.x-k8s.io
runtime
builder
Package builder provides a builder to build controllers.
Package builder provides a builder to build controllers.
cache
Package cache defines resource group aware Cache.
Package cache defines resource group aware Cache.
client
Package client defines Client for operating on resource groups.
Package client defines Client for operating on resource groups.
controller
Package controller provides types and functions for building Controllers.
Package controller provides types and functions for building Controllers.
event
Package event contains the definitions for the Event types produced by source.Sources and transformed into reconcile.Requests by handler.EventHandler.
Package event contains the definitions for the Event types produced by source.Sources and transformed into reconcile.Requests by handler.EventHandler.
handler
Package handler defines EventHandlers that enqueue reconcile.Requests in response to Create, Update, Deletion Events observed from Watching Kubernetes APIs.
Package handler defines EventHandlers that enqueue reconcile.Requests in response to Create, Update, Deletion Events observed from Watching Kubernetes APIs.
manager
Package manager defines a Manager for resource groups.
Package manager defines a Manager for resource groups.
predicate
Package predicate defines Predicates used by Controllers to filter Events before they are provided to EventHandlers.
Package predicate defines Predicates used by Controllers to filter Events before they are provided to EventHandlers.
reconcile
Package reconcile defines the Reconciler interface; Reconciler is provided to Controllers at creation time as the API implementation.
Package reconcile defines the Reconciler interface; Reconciler is provided to Controllers at creation time as the API implementation.
resourcegroup
Package resourcegroup defines a ResourceGroup; the default implementation is backed by a cache.
Package resourcegroup defines a ResourceGroup; the default implementation is backed by a cache.
source
Package source provides event streams to hook up to Controllers with Controller.Watch.
Package source provides event streams to hook up to Controllers with Controller.Watch.

Jump to

Keyboard shortcuts

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