Documentation

Index

Constants

View Source
const (
	ConfigMapKind           = "configmap"
	ConfigMapControllerName = "configmaps"
)
View Source
const (
	DaemonSetKind           = "daemonset"
	DaemonSetControllerName = "daemonsets"
)
View Source
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 (*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 (*ConfigMapAdapter) ClusterWatch

            func (a *ConfigMapAdapter) ClusterWatch(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (watch.Interface, error)

            func (*ConfigMapAdapter) Copy

            func (*ConfigMapAdapter) Equivalent

            func (a *ConfigMapAdapter) Equivalent(obj1, obj2 pkgruntime.Object) bool

            func (*ConfigMapAdapter) FedCreate

            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 (*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 (*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 (*DaemonSetAdapter) ClusterWatch

            func (a *DaemonSetAdapter) ClusterWatch(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (watch.Interface, error)

            func (*DaemonSetAdapter) Copy

            func (*DaemonSetAdapter) Equivalent

            func (a *DaemonSetAdapter) Equivalent(obj1, obj2 pkgruntime.Object) bool

            func (*DaemonSetAdapter) FedCreate

            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 (*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.

                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 (*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

                      Directories

                      Path Synopsis