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