Documentation ¶
Index ¶
- Constants
- func FederatedTypes() map[string]FederatedType
- func ObjectKey(adapter FederatedTypeAdapter, obj pkgruntime.Object) string
- func RegisterFederatedType(kind, controllerName string, requiredResources []schema.GroupVersionResource, ...)
- func SetAnnotation(adapter FederatedTypeAdapter, obj pkgruntime.Object, key, value string)
- type AdapterFactory
- type ConfigMapAdapter
- func (a *ConfigMapAdapter) ClusterCreate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *ConfigMapAdapter) ClusterDelete(client kubeclientset.Interface, nsName types.NamespacedName, ...) error
- func (a *ConfigMapAdapter) ClusterGet(client kubeclientset.Interface, namespacedName types.NamespacedName) (pkgruntime.Object, error)
- func (a *ConfigMapAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
- func (a *ConfigMapAdapter) ClusterUpdate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *ConfigMapAdapter) ClusterWatch(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (watch.Interface, error)
- func (a *ConfigMapAdapter) Copy(obj pkgruntime.Object) pkgruntime.Object
- func (a *ConfigMapAdapter) Equivalent(obj1, obj2 pkgruntime.Object) bool
- func (a *ConfigMapAdapter) FedCreate(obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *ConfigMapAdapter) FedDelete(namespacedName types.NamespacedName, options *metav1.DeleteOptions) error
- func (a *ConfigMapAdapter) FedGet(namespacedName types.NamespacedName) (pkgruntime.Object, error)
- func (a *ConfigMapAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
- func (a *ConfigMapAdapter) FedUpdate(obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *ConfigMapAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)
- func (a *ConfigMapAdapter) IsExpectedType(obj interface{}) bool
- func (a *ConfigMapAdapter) IsSchedulingAdapter() bool
- func (a *ConfigMapAdapter) Kind() string
- func (a *ConfigMapAdapter) NamespacedName(obj pkgruntime.Object) types.NamespacedName
- func (a *ConfigMapAdapter) NewTestObject(namespace string) pkgruntime.Object
- func (a *ConfigMapAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta
- func (a *ConfigMapAdapter) ObjectType() pkgruntime.Object
- type DaemonSetAdapter
- func (a *DaemonSetAdapter) ClusterCreate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *DaemonSetAdapter) ClusterDelete(client kubeclientset.Interface, nsName types.NamespacedName, ...) error
- func (a *DaemonSetAdapter) ClusterGet(client kubeclientset.Interface, namespacedName types.NamespacedName) (pkgruntime.Object, error)
- func (a *DaemonSetAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
- func (a *DaemonSetAdapter) ClusterUpdate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *DaemonSetAdapter) ClusterWatch(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (watch.Interface, error)
- func (a *DaemonSetAdapter) Copy(obj pkgruntime.Object) pkgruntime.Object
- func (a *DaemonSetAdapter) Equivalent(obj1, obj2 pkgruntime.Object) bool
- func (a *DaemonSetAdapter) FedCreate(obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *DaemonSetAdapter) FedDelete(namespacedName types.NamespacedName, options *metav1.DeleteOptions) error
- func (a *DaemonSetAdapter) FedGet(namespacedName types.NamespacedName) (pkgruntime.Object, error)
- func (a *DaemonSetAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
- func (a *DaemonSetAdapter) FedUpdate(obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *DaemonSetAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)
- func (a *DaemonSetAdapter) IsExpectedType(obj interface{}) bool
- func (a *DaemonSetAdapter) IsSchedulingAdapter() bool
- func (a *DaemonSetAdapter) Kind() string
- func (a *DaemonSetAdapter) NamespacedName(obj pkgruntime.Object) types.NamespacedName
- func (a *DaemonSetAdapter) NewTestObject(namespace string) pkgruntime.Object
- func (a *DaemonSetAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta
- func (a *DaemonSetAdapter) ObjectType() pkgruntime.Object
- type FederatedType
- type FederatedTypeAdapter
- type SchedulingAdapter
- type SchedulingInfo
- type SchedulingStatus
- type SecretAdapter
- func (a *SecretAdapter) ClusterCreate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *SecretAdapter) ClusterDelete(client kubeclientset.Interface, nsName types.NamespacedName, ...) error
- func (a *SecretAdapter) ClusterGet(client kubeclientset.Interface, namespacedName types.NamespacedName) (pkgruntime.Object, error)
- func (a *SecretAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
- func (a *SecretAdapter) ClusterUpdate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *SecretAdapter) ClusterWatch(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (watch.Interface, error)
- func (a *SecretAdapter) Copy(obj pkgruntime.Object) pkgruntime.Object
- func (a *SecretAdapter) Equivalent(obj1, obj2 pkgruntime.Object) bool
- func (a *SecretAdapter) FedCreate(obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *SecretAdapter) FedDelete(namespacedName types.NamespacedName, options *metav1.DeleteOptions) error
- func (a *SecretAdapter) FedGet(namespacedName types.NamespacedName) (pkgruntime.Object, error)
- func (a *SecretAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
- func (a *SecretAdapter) FedUpdate(obj pkgruntime.Object) (pkgruntime.Object, error)
- func (a *SecretAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)
- func (a *SecretAdapter) IsExpectedType(obj interface{}) bool
- func (a *SecretAdapter) IsSchedulingAdapter() bool
- func (a *SecretAdapter) Kind() string
- func (a *SecretAdapter) NamespacedName(obj pkgruntime.Object) types.NamespacedName
- func (a *SecretAdapter) NewTestObject(namespace string) pkgruntime.Object
- func (a *SecretAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta
- func (a *SecretAdapter) ObjectType() pkgruntime.Object
Constants ¶
const ( ConfigMapKind = "configmap" ConfigMapControllerName = "configmaps" )
const ( DaemonSetKind = "daemonset" DaemonSetControllerName = "daemonsets" )
const ( SecretKind = "secret" SecretControllerName = "secrets" )
Variables ¶
This section is empty.
Functions ¶
func FederatedTypes ¶
func FederatedTypes() map[string]FederatedType
FederatedTypes returns a mapping of kind (e.g. "secret") to the type information required to configure its federation.
func ObjectKey ¶
func ObjectKey(adapter FederatedTypeAdapter, obj pkgruntime.Object) string
ObjectKey returns a cluster-unique key for the given object
func RegisterFederatedType ¶
func RegisterFederatedType(kind, controllerName string, requiredResources []schema.GroupVersionResource, factory AdapterFactory)
RegisterFederatedType ensures that configuration for the given kind will be returned by the FederatedTypes method.
func SetAnnotation ¶
func SetAnnotation(adapter FederatedTypeAdapter, obj pkgruntime.Object, key, value string)
SetAnnotation sets the given key and value in the given object's ObjectMeta.Annotations map
Types ¶
type AdapterFactory ¶
type AdapterFactory func(client federationclientset.Interface) FederatedTypeAdapter
AdapterFactory defines the function signature for factory methods that create instances of FederatedTypeAdapter. Such methods should be registered with RegisterAdapterFactory to ensure the type adapter is discoverable.
type ConfigMapAdapter ¶
type ConfigMapAdapter struct {
// contains filtered or unexported fields
}
func (*ConfigMapAdapter) ClusterCreate ¶
func (a *ConfigMapAdapter) ClusterCreate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
func (*ConfigMapAdapter) ClusterDelete ¶
func (a *ConfigMapAdapter) ClusterDelete(client kubeclientset.Interface, nsName types.NamespacedName, options *metav1.DeleteOptions) error
func (*ConfigMapAdapter) ClusterGet ¶
func (a *ConfigMapAdapter) ClusterGet(client kubeclientset.Interface, namespacedName types.NamespacedName) (pkgruntime.Object, error)
func (*ConfigMapAdapter) ClusterList ¶
func (a *ConfigMapAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
func (*ConfigMapAdapter) ClusterUpdate ¶
func (a *ConfigMapAdapter) ClusterUpdate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
func (*ConfigMapAdapter) ClusterWatch ¶
func (a *ConfigMapAdapter) ClusterWatch(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (watch.Interface, error)
func (*ConfigMapAdapter) Copy ¶
func (a *ConfigMapAdapter) Copy(obj pkgruntime.Object) pkgruntime.Object
func (*ConfigMapAdapter) Equivalent ¶
func (a *ConfigMapAdapter) Equivalent(obj1, obj2 pkgruntime.Object) bool
func (*ConfigMapAdapter) FedCreate ¶
func (a *ConfigMapAdapter) FedCreate(obj pkgruntime.Object) (pkgruntime.Object, error)
func (*ConfigMapAdapter) FedDelete ¶
func (a *ConfigMapAdapter) FedDelete(namespacedName types.NamespacedName, options *metav1.DeleteOptions) error
func (*ConfigMapAdapter) FedGet ¶
func (a *ConfigMapAdapter) FedGet(namespacedName types.NamespacedName) (pkgruntime.Object, error)
func (*ConfigMapAdapter) FedList ¶
func (a *ConfigMapAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
func (*ConfigMapAdapter) FedUpdate ¶
func (a *ConfigMapAdapter) FedUpdate(obj pkgruntime.Object) (pkgruntime.Object, error)
func (*ConfigMapAdapter) FedWatch ¶
func (a *ConfigMapAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)
func (*ConfigMapAdapter) IsExpectedType ¶
func (a *ConfigMapAdapter) IsExpectedType(obj interface{}) bool
func (*ConfigMapAdapter) IsSchedulingAdapter ¶
func (a *ConfigMapAdapter) IsSchedulingAdapter() bool
func (*ConfigMapAdapter) Kind ¶
func (a *ConfigMapAdapter) Kind() string
func (*ConfigMapAdapter) NamespacedName ¶
func (a *ConfigMapAdapter) NamespacedName(obj pkgruntime.Object) types.NamespacedName
func (*ConfigMapAdapter) NewTestObject ¶
func (a *ConfigMapAdapter) NewTestObject(namespace string) pkgruntime.Object
func (*ConfigMapAdapter) ObjectMeta ¶
func (a *ConfigMapAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta
func (*ConfigMapAdapter) ObjectType ¶
func (a *ConfigMapAdapter) ObjectType() pkgruntime.Object
type DaemonSetAdapter ¶
type DaemonSetAdapter struct {
// contains filtered or unexported fields
}
func (*DaemonSetAdapter) ClusterCreate ¶
func (a *DaemonSetAdapter) ClusterCreate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
func (*DaemonSetAdapter) ClusterDelete ¶
func (a *DaemonSetAdapter) ClusterDelete(client kubeclientset.Interface, nsName types.NamespacedName, options *metav1.DeleteOptions) error
func (*DaemonSetAdapter) ClusterGet ¶
func (a *DaemonSetAdapter) ClusterGet(client kubeclientset.Interface, namespacedName types.NamespacedName) (pkgruntime.Object, error)
func (*DaemonSetAdapter) ClusterList ¶
func (a *DaemonSetAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
func (*DaemonSetAdapter) ClusterUpdate ¶
func (a *DaemonSetAdapter) ClusterUpdate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
func (*DaemonSetAdapter) ClusterWatch ¶
func (a *DaemonSetAdapter) ClusterWatch(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (watch.Interface, error)
func (*DaemonSetAdapter) Copy ¶
func (a *DaemonSetAdapter) Copy(obj pkgruntime.Object) pkgruntime.Object
func (*DaemonSetAdapter) Equivalent ¶
func (a *DaemonSetAdapter) Equivalent(obj1, obj2 pkgruntime.Object) bool
func (*DaemonSetAdapter) FedCreate ¶
func (a *DaemonSetAdapter) FedCreate(obj pkgruntime.Object) (pkgruntime.Object, error)
func (*DaemonSetAdapter) FedDelete ¶
func (a *DaemonSetAdapter) FedDelete(namespacedName types.NamespacedName, options *metav1.DeleteOptions) error
func (*DaemonSetAdapter) FedGet ¶
func (a *DaemonSetAdapter) FedGet(namespacedName types.NamespacedName) (pkgruntime.Object, error)
func (*DaemonSetAdapter) FedList ¶
func (a *DaemonSetAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
func (*DaemonSetAdapter) FedUpdate ¶
func (a *DaemonSetAdapter) FedUpdate(obj pkgruntime.Object) (pkgruntime.Object, error)
func (*DaemonSetAdapter) FedWatch ¶
func (a *DaemonSetAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)
func (*DaemonSetAdapter) IsExpectedType ¶
func (a *DaemonSetAdapter) IsExpectedType(obj interface{}) bool
func (*DaemonSetAdapter) IsSchedulingAdapter ¶
func (a *DaemonSetAdapter) IsSchedulingAdapter() bool
func (*DaemonSetAdapter) Kind ¶
func (a *DaemonSetAdapter) Kind() string
func (*DaemonSetAdapter) NamespacedName ¶
func (a *DaemonSetAdapter) NamespacedName(obj pkgruntime.Object) types.NamespacedName
func (*DaemonSetAdapter) NewTestObject ¶
func (a *DaemonSetAdapter) NewTestObject(namespace string) pkgruntime.Object
func (*DaemonSetAdapter) ObjectMeta ¶
func (a *DaemonSetAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta
func (*DaemonSetAdapter) ObjectType ¶
func (a *DaemonSetAdapter) ObjectType() pkgruntime.Object
type FederatedType ¶
type FederatedType struct { Kind string ControllerName string RequiredResources []schema.GroupVersionResource AdapterFactory AdapterFactory }
FederatedType configures federation for a kubernetes type
type FederatedTypeAdapter ¶
type FederatedTypeAdapter interface { Kind() string ObjectType() pkgruntime.Object IsExpectedType(obj interface{}) bool Copy(obj pkgruntime.Object) pkgruntime.Object Equivalent(obj1, obj2 pkgruntime.Object) bool NamespacedName(obj pkgruntime.Object) types.NamespacedName ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta // Fed* operations target the federation control plane FedCreate(obj pkgruntime.Object) (pkgruntime.Object, error) FedDelete(namespacedName types.NamespacedName, options *metav1.DeleteOptions) error FedGet(namespacedName types.NamespacedName) (pkgruntime.Object, error) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error) FedUpdate(obj pkgruntime.Object) (pkgruntime.Object, error) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error) // The following operations are intended to target a cluster that is a member of a federation ClusterCreate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error) ClusterDelete(client kubeclientset.Interface, nsName types.NamespacedName, options *metav1.DeleteOptions) error ClusterGet(client kubeclientset.Interface, namespacedName types.NamespacedName) (pkgruntime.Object, error) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error) ClusterUpdate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error) ClusterWatch(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (watch.Interface, error) IsSchedulingAdapter() bool NewTestObject(namespace string) pkgruntime.Object }
FederatedTypeAdapter defines operations for interacting with a federated type. Code written to this interface can then target any type for which an implementation of this interface exists.
func NewConfigMapAdapter ¶
func NewConfigMapAdapter(client federationclientset.Interface) FederatedTypeAdapter
func NewDaemonSetAdapter ¶
func NewDaemonSetAdapter(client federationclientset.Interface) FederatedTypeAdapter
func NewSecretAdapter ¶
func NewSecretAdapter(client federationclientset.Interface) FederatedTypeAdapter
type SchedulingAdapter ¶
type SchedulingAdapter interface { GetSchedule(obj pkgruntime.Object, key string, clusters []*federationapi.Cluster, informer fedutil.FederatedInformer) (*SchedulingInfo, error) ScheduleObject(cluster *federationapi.Cluster, clusterObj pkgruntime.Object, federationObjCopy pkgruntime.Object, schedulingInfo *SchedulingInfo) (pkgruntime.Object, bool, error) UpdateFederatedStatus(obj pkgruntime.Object, status SchedulingStatus) error }
SchedulingAdapter defines operations for interacting with a federated type that requires more complex synchronization logic.
type SchedulingInfo ¶
type SchedulingInfo struct { Schedule map[string]int64 Status SchedulingStatus }
SchedulingInfo wraps the information that a SchedulingAdapter needs to update objects per a schedule.
type SchedulingStatus ¶
type SchedulingStatus struct { Replicas int32 FullyLabeledReplicas int32 ReadyReplicas int32 AvailableReplicas int32 }
SchedulingStatus contains the status of the objects that are being scheduled into joined clusters.
type SecretAdapter ¶
type SecretAdapter struct {
// contains filtered or unexported fields
}
func (*SecretAdapter) ClusterCreate ¶
func (a *SecretAdapter) ClusterCreate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
func (*SecretAdapter) ClusterDelete ¶
func (a *SecretAdapter) ClusterDelete(client kubeclientset.Interface, nsName types.NamespacedName, options *metav1.DeleteOptions) error
func (*SecretAdapter) ClusterGet ¶
func (a *SecretAdapter) ClusterGet(client kubeclientset.Interface, namespacedName types.NamespacedName) (pkgruntime.Object, error)
func (*SecretAdapter) ClusterList ¶
func (a *SecretAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
func (*SecretAdapter) ClusterUpdate ¶
func (a *SecretAdapter) ClusterUpdate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)
func (*SecretAdapter) ClusterWatch ¶
func (a *SecretAdapter) ClusterWatch(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (watch.Interface, error)
func (*SecretAdapter) Copy ¶
func (a *SecretAdapter) Copy(obj pkgruntime.Object) pkgruntime.Object
func (*SecretAdapter) Equivalent ¶
func (a *SecretAdapter) Equivalent(obj1, obj2 pkgruntime.Object) bool
func (*SecretAdapter) FedCreate ¶
func (a *SecretAdapter) FedCreate(obj pkgruntime.Object) (pkgruntime.Object, error)
func (*SecretAdapter) FedDelete ¶
func (a *SecretAdapter) FedDelete(namespacedName types.NamespacedName, options *metav1.DeleteOptions) error
func (*SecretAdapter) FedGet ¶
func (a *SecretAdapter) FedGet(namespacedName types.NamespacedName) (pkgruntime.Object, error)
func (*SecretAdapter) FedList ¶
func (a *SecretAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
func (*SecretAdapter) FedUpdate ¶
func (a *SecretAdapter) FedUpdate(obj pkgruntime.Object) (pkgruntime.Object, error)
func (*SecretAdapter) FedWatch ¶
func (a *SecretAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)
func (*SecretAdapter) IsExpectedType ¶
func (a *SecretAdapter) IsExpectedType(obj interface{}) bool
func (*SecretAdapter) IsSchedulingAdapter ¶
func (a *SecretAdapter) IsSchedulingAdapter() bool
func (*SecretAdapter) Kind ¶
func (a *SecretAdapter) Kind() string
func (*SecretAdapter) NamespacedName ¶
func (a *SecretAdapter) NamespacedName(obj pkgruntime.Object) types.NamespacedName
func (*SecretAdapter) NewTestObject ¶
func (a *SecretAdapter) NewTestObject(namespace string) pkgruntime.Object
func (*SecretAdapter) ObjectMeta ¶
func (a *SecretAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta
func (*SecretAdapter) ObjectType ¶
func (a *SecretAdapter) ObjectType() pkgruntime.Object