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 ¶
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 ¶
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. |