federatedtypes

package
v1.8.6 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2017 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConfigMapKind           = "configmap"
	ConfigMapControllerName = "configmaps"
)
View Source
const (
	DaemonSetKind           = "daemonset"
	DaemonSetControllerName = "daemonsets"
)
View Source
const (
	DeploymentKind                     = "deployment"
	DeploymentControllerName           = "deployments"
	FedDeploymentPreferencesAnnotation = "federation.kubernetes.io/deployment-preferences"
)
View Source
const (
	HpaKind           = "horizontalpodautoscaler"
	HpaControllerName = "horizontalpodautoscalers"

	// This is a tunable which does not change replica nums
	// on an existing local hpa, before this timeout, if it
	// did scale already (avoids thrashing of replicas around).
	ScaleForbiddenWindow = 2 * time.Minute
)
View Source
const (
	NamespaceKind           = "namespace"
	NamespaceControllerName = "namespaces"
)
View Source
const (
	ReplicaSetKind                     = "replicaset"
	ReplicaSetControllerName           = "replicasets"
	FedReplicaSetPreferencesAnnotation = "federation.kubernetes.io/replica-set-preferences"
)
View Source
const (
	ActionAdd    = "add"
	ActionDelete = "delete"
)
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, config *restclient.Config, adapterSpecificArgs map[string]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, qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*ConfigMapAdapter) ClusterGet

func (a *ConfigMapAdapter) ClusterGet(client kubeclientset.Interface, qualifiedName QualifiedName) (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(qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*ConfigMapAdapter) FedGet

func (a *ConfigMapAdapter) FedGet(qualifiedName QualifiedName) (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) 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

func (*ConfigMapAdapter) QualifiedName added in v1.8.0

func (a *ConfigMapAdapter) QualifiedName(obj pkgruntime.Object) QualifiedName

type DaemonSetAdapter

type DaemonSetAdapter struct {
	// contains filtered or unexported fields
}

func (*DaemonSetAdapter) ClusterCreate

func (*DaemonSetAdapter) ClusterDelete

func (a *DaemonSetAdapter) ClusterDelete(client kubeclientset.Interface, qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*DaemonSetAdapter) ClusterGet

func (a *DaemonSetAdapter) ClusterGet(client kubeclientset.Interface, qualifiedName QualifiedName) (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(qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*DaemonSetAdapter) FedGet

func (a *DaemonSetAdapter) FedGet(qualifiedName QualifiedName) (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) 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

func (*DaemonSetAdapter) QualifiedName added in v1.8.0

func (a *DaemonSetAdapter) QualifiedName(obj pkgruntime.Object) QualifiedName

type DeploymentAdapter added in v1.8.0

type DeploymentAdapter struct {
	// contains filtered or unexported fields
}

func (*DeploymentAdapter) ClusterCreate added in v1.8.0

func (*DeploymentAdapter) ClusterDelete added in v1.8.0

func (a *DeploymentAdapter) ClusterDelete(client kubeclientset.Interface, qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*DeploymentAdapter) ClusterGet added in v1.8.0

func (a *DeploymentAdapter) ClusterGet(client kubeclientset.Interface, qualifiedName QualifiedName) (pkgruntime.Object, error)

func (*DeploymentAdapter) ClusterList added in v1.8.0

func (a *DeploymentAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*DeploymentAdapter) ClusterUpdate added in v1.8.0

func (*DeploymentAdapter) ClusterWatch added in v1.8.0

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

func (*DeploymentAdapter) Copy added in v1.8.0

func (*DeploymentAdapter) Equivalent added in v1.8.0

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

func (*DeploymentAdapter) EquivalentIgnoringSchedule added in v1.8.0

func (a *DeploymentAdapter) EquivalentIgnoringSchedule(obj1, obj2 pkgruntime.Object) bool

func (*DeploymentAdapter) FedCreate added in v1.8.0

func (*DeploymentAdapter) FedDelete added in v1.8.0

func (a *DeploymentAdapter) FedDelete(qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*DeploymentAdapter) FedGet added in v1.8.0

func (a *DeploymentAdapter) FedGet(qualifiedName QualifiedName) (pkgruntime.Object, error)

func (*DeploymentAdapter) FedList added in v1.8.0

func (a *DeploymentAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*DeploymentAdapter) FedUpdate added in v1.8.0

func (*DeploymentAdapter) FedWatch added in v1.8.0

func (a *DeploymentAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

func (DeploymentAdapter) GetSchedule added in v1.8.0

func (a DeploymentAdapter) GetSchedule(obj pkgruntime.Object, key string, clusters []*federationapi.Cluster, informer fedutil.FederatedInformer) (interface{}, error)

func (*DeploymentAdapter) IsExpectedType added in v1.8.0

func (a *DeploymentAdapter) IsExpectedType(obj interface{}) bool

func (DeploymentAdapter) IsSchedulingAdapter added in v1.8.0

func (a DeploymentAdapter) IsSchedulingAdapter() bool

func (*DeploymentAdapter) Kind added in v1.8.0

func (a *DeploymentAdapter) Kind() string

func (*DeploymentAdapter) NewTestObject added in v1.8.0

func (a *DeploymentAdapter) NewTestObject(namespace string) pkgruntime.Object

func (*DeploymentAdapter) ObjectMeta added in v1.8.0

func (a *DeploymentAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta

func (*DeploymentAdapter) ObjectType added in v1.8.0

func (a *DeploymentAdapter) ObjectType() pkgruntime.Object

func (*DeploymentAdapter) QualifiedName added in v1.8.0

func (a *DeploymentAdapter) QualifiedName(obj pkgruntime.Object) QualifiedName

func (DeploymentAdapter) ScheduleObject added in v1.8.0

func (a DeploymentAdapter) ScheduleObject(cluster *federationapi.Cluster, clusterObj pkgruntime.Object, federationObjCopy pkgruntime.Object, schedulingInfo interface{}) (pkgruntime.Object, ScheduleAction, error)

func (DeploymentAdapter) UpdateFederatedStatus added in v1.8.0

func (a DeploymentAdapter) UpdateFederatedStatus(obj pkgruntime.Object, schedulingInfo interface{}) error

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
	QualifiedName(obj pkgruntime.Object) QualifiedName
	ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta

	// Fed* operations target the federation control plane
	FedCreate(obj pkgruntime.Object) (pkgruntime.Object, error)
	FedDelete(qualifiedName QualifiedName, options *metav1.DeleteOptions) error
	FedGet(qualifiedName QualifiedName) (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, qualifiedName QualifiedName, options *metav1.DeleteOptions) error
	ClusterGet(client kubeclientset.Interface, qualifiedName QualifiedName) (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, config *restclient.Config, adapterSpecificArgs map[string]interface{}) FederatedTypeAdapter

func NewDaemonSetAdapter

func NewDaemonSetAdapter(client federationclientset.Interface, config *restclient.Config, adapterSpecificArgs map[string]interface{}) FederatedTypeAdapter

func NewDeploymentAdapter added in v1.8.0

func NewDeploymentAdapter(client federationclientset.Interface, config *restclient.Config, adapterSpecificArgs map[string]interface{}) FederatedTypeAdapter

func NewHpaAdapter added in v1.8.0

func NewHpaAdapter(client federationclientset.Interface, config *restclient.Config, adapterSpecificArgs map[string]interface{}) FederatedTypeAdapter

func NewNamespaceAdapter added in v1.8.0

func NewNamespaceAdapter(client federationclientset.Interface, config *restclient.Config, adapterSpecificArgs map[string]interface{}) FederatedTypeAdapter

func NewReplicaSetAdapter added in v1.8.0

func NewReplicaSetAdapter(client federationclientset.Interface, config *restclient.Config, adapterSpecificArgs map[string]interface{}) FederatedTypeAdapter

func NewSecretAdapter

func NewSecretAdapter(client federationclientset.Interface, config *restclient.Config, adapterSpecificArgs map[string]interface{}) FederatedTypeAdapter

type HpaAdapter added in v1.8.0

type HpaAdapter struct {
	// contains filtered or unexported fields
}

func (*HpaAdapter) ClusterCreate added in v1.8.0

func (a *HpaAdapter) ClusterCreate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)

func (*HpaAdapter) ClusterDelete added in v1.8.0

func (a *HpaAdapter) ClusterDelete(client kubeclientset.Interface, qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*HpaAdapter) ClusterGet added in v1.8.0

func (a *HpaAdapter) ClusterGet(client kubeclientset.Interface, qualifiedName QualifiedName) (pkgruntime.Object, error)

func (*HpaAdapter) ClusterList added in v1.8.0

func (a *HpaAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*HpaAdapter) ClusterUpdate added in v1.8.0

func (a *HpaAdapter) ClusterUpdate(client kubeclientset.Interface, obj pkgruntime.Object) (pkgruntime.Object, error)

func (*HpaAdapter) ClusterWatch added in v1.8.0

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

func (*HpaAdapter) Copy added in v1.8.0

func (*HpaAdapter) Equivalent added in v1.8.0

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

func (*HpaAdapter) EquivalentIgnoringSchedule added in v1.8.0

func (a *HpaAdapter) EquivalentIgnoringSchedule(obj1, obj2 pkgruntime.Object) bool

func (*HpaAdapter) FedCreate added in v1.8.0

func (a *HpaAdapter) FedCreate(obj pkgruntime.Object) (pkgruntime.Object, error)

func (*HpaAdapter) FedDelete added in v1.8.0

func (a *HpaAdapter) FedDelete(qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*HpaAdapter) FedGet added in v1.8.0

func (a *HpaAdapter) FedGet(qualifiedName QualifiedName) (pkgruntime.Object, error)

func (*HpaAdapter) FedList added in v1.8.0

func (a *HpaAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*HpaAdapter) FedUpdate added in v1.8.0

func (a *HpaAdapter) FedUpdate(obj pkgruntime.Object) (pkgruntime.Object, error)

func (*HpaAdapter) FedWatch added in v1.8.0

func (a *HpaAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

func (*HpaAdapter) GetSchedule added in v1.8.0

func (a *HpaAdapter) GetSchedule(obj pkgruntime.Object, key string, clusters []*federationapi.Cluster, informer fedutil.FederatedInformer) (interface{}, error)

func (*HpaAdapter) IsExpectedType added in v1.8.0

func (a *HpaAdapter) IsExpectedType(obj interface{}) bool

func (*HpaAdapter) IsSchedulingAdapter added in v1.8.0

func (a *HpaAdapter) IsSchedulingAdapter() bool

func (*HpaAdapter) Kind added in v1.8.0

func (a *HpaAdapter) Kind() string

func (*HpaAdapter) NewTestObject added in v1.8.0

func (a *HpaAdapter) NewTestObject(namespace string) pkgruntime.Object

func (*HpaAdapter) ObjectMeta added in v1.8.0

func (a *HpaAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta

func (*HpaAdapter) ObjectType added in v1.8.0

func (a *HpaAdapter) ObjectType() pkgruntime.Object

func (*HpaAdapter) QualifiedName added in v1.8.0

func (a *HpaAdapter) QualifiedName(obj pkgruntime.Object) QualifiedName

func (*HpaAdapter) ScheduleObject added in v1.8.0

func (a *HpaAdapter) ScheduleObject(cluster *federationapi.Cluster, clusterObj pkgruntime.Object, federationObjCopy pkgruntime.Object, schedulingInfo interface{}) (pkgruntime.Object, ScheduleAction, error)

func (*HpaAdapter) UpdateFederatedStatus added in v1.8.0

func (a *HpaAdapter) UpdateFederatedStatus(obj pkgruntime.Object, schedulingInfo interface{}) error

type NamespaceAdapter added in v1.8.0

type NamespaceAdapter struct {
	// contains filtered or unexported fields
}

func (*NamespaceAdapter) CleanUpNamespace added in v1.8.0

func (a *NamespaceAdapter) CleanUpNamespace(obj pkgruntime.Object, eventRecorder record.EventRecorder) (pkgruntime.Object, error)

CleanUpNamespace deletes all resources in a given namespace.

func (*NamespaceAdapter) ClusterCreate added in v1.8.0

func (*NamespaceAdapter) ClusterDelete added in v1.8.0

func (a *NamespaceAdapter) ClusterDelete(client kubeclientset.Interface, qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*NamespaceAdapter) ClusterGet added in v1.8.0

func (a *NamespaceAdapter) ClusterGet(client kubeclientset.Interface, qualifiedName QualifiedName) (pkgruntime.Object, error)

func (*NamespaceAdapter) ClusterList added in v1.8.0

func (a *NamespaceAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*NamespaceAdapter) ClusterUpdate added in v1.8.0

func (*NamespaceAdapter) ClusterWatch added in v1.8.0

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

func (*NamespaceAdapter) Copy added in v1.8.0

func (*NamespaceAdapter) Equivalent added in v1.8.0

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

func (*NamespaceAdapter) FedCreate added in v1.8.0

func (*NamespaceAdapter) FedDelete added in v1.8.0

func (a *NamespaceAdapter) FedDelete(qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*NamespaceAdapter) FedGet added in v1.8.0

func (a *NamespaceAdapter) FedGet(qualifiedName QualifiedName) (pkgruntime.Object, error)

func (*NamespaceAdapter) FedList added in v1.8.0

func (a *NamespaceAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*NamespaceAdapter) FedUpdate added in v1.8.0

func (*NamespaceAdapter) FedWatch added in v1.8.0

func (a *NamespaceAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

func (*NamespaceAdapter) IsExpectedType added in v1.8.0

func (a *NamespaceAdapter) IsExpectedType(obj interface{}) bool

func (*NamespaceAdapter) IsSchedulingAdapter added in v1.8.0

func (a *NamespaceAdapter) IsSchedulingAdapter() bool

func (*NamespaceAdapter) Kind added in v1.8.0

func (a *NamespaceAdapter) Kind() string

func (*NamespaceAdapter) NewTestObject added in v1.8.0

func (a *NamespaceAdapter) NewTestObject(namespace string) pkgruntime.Object

func (*NamespaceAdapter) ObjectMeta added in v1.8.0

func (a *NamespaceAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta

func (*NamespaceAdapter) ObjectType added in v1.8.0

func (a *NamespaceAdapter) ObjectType() pkgruntime.Object

func (*NamespaceAdapter) QualifiedName added in v1.8.0

func (a *NamespaceAdapter) QualifiedName(obj pkgruntime.Object) QualifiedName

type QualifiedName added in v1.8.0

type QualifiedName struct {
	Namespace string
	Name      string
}

func (QualifiedName) String added in v1.8.0

func (n QualifiedName) String() string

String returns the general purpose string representation

type ReplicaScheduleState added in v1.8.0

type ReplicaScheduleState struct {
	// contains filtered or unexported fields
}

ReplicaScheduleState is the result of adapter specific schedule() function, which is then used to update objects into clusters.

type ReplicaSchedulingInfo added in v1.8.0

type ReplicaSchedulingInfo struct {
	ScheduleState map[string]*ReplicaScheduleState
	Status        ReplicaStatus
}

ReplicaSchedulingInfo wraps the information that a replica type (rs or deployment) SchedulingAdapter needs to update objects per a schedule.

type ReplicaSetAdapter added in v1.8.0

type ReplicaSetAdapter struct {
	// contains filtered or unexported fields
}

func (*ReplicaSetAdapter) ClusterCreate added in v1.8.0

func (*ReplicaSetAdapter) ClusterDelete added in v1.8.0

func (a *ReplicaSetAdapter) ClusterDelete(client kubeclientset.Interface, qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*ReplicaSetAdapter) ClusterGet added in v1.8.0

func (a *ReplicaSetAdapter) ClusterGet(client kubeclientset.Interface, qualifiedName QualifiedName) (pkgruntime.Object, error)

func (*ReplicaSetAdapter) ClusterList added in v1.8.0

func (a *ReplicaSetAdapter) ClusterList(client kubeclientset.Interface, namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*ReplicaSetAdapter) ClusterUpdate added in v1.8.0

func (*ReplicaSetAdapter) ClusterWatch added in v1.8.0

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

func (*ReplicaSetAdapter) Copy added in v1.8.0

func (*ReplicaSetAdapter) Equivalent added in v1.8.0

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

func (*ReplicaSetAdapter) EquivalentIgnoringSchedule added in v1.8.0

func (a *ReplicaSetAdapter) EquivalentIgnoringSchedule(obj1, obj2 pkgruntime.Object) bool

func (*ReplicaSetAdapter) FedCreate added in v1.8.0

func (*ReplicaSetAdapter) FedDelete added in v1.8.0

func (a *ReplicaSetAdapter) FedDelete(qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*ReplicaSetAdapter) FedGet added in v1.8.0

func (a *ReplicaSetAdapter) FedGet(qualifiedName QualifiedName) (pkgruntime.Object, error)

func (*ReplicaSetAdapter) FedList added in v1.8.0

func (a *ReplicaSetAdapter) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*ReplicaSetAdapter) FedUpdate added in v1.8.0

func (*ReplicaSetAdapter) FedWatch added in v1.8.0

func (a *ReplicaSetAdapter) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

func (ReplicaSetAdapter) GetSchedule added in v1.8.0

func (a ReplicaSetAdapter) GetSchedule(obj pkgruntime.Object, key string, clusters []*federationapi.Cluster, informer fedutil.FederatedInformer) (interface{}, error)

func (*ReplicaSetAdapter) IsExpectedType added in v1.8.0

func (a *ReplicaSetAdapter) IsExpectedType(obj interface{}) bool

func (ReplicaSetAdapter) IsSchedulingAdapter added in v1.8.0

func (a ReplicaSetAdapter) IsSchedulingAdapter() bool

func (*ReplicaSetAdapter) Kind added in v1.8.0

func (a *ReplicaSetAdapter) Kind() string

func (*ReplicaSetAdapter) NewTestObject added in v1.8.0

func (a *ReplicaSetAdapter) NewTestObject(namespace string) pkgruntime.Object

func (*ReplicaSetAdapter) ObjectMeta added in v1.8.0

func (a *ReplicaSetAdapter) ObjectMeta(obj pkgruntime.Object) *metav1.ObjectMeta

func (*ReplicaSetAdapter) ObjectType added in v1.8.0

func (a *ReplicaSetAdapter) ObjectType() pkgruntime.Object

func (*ReplicaSetAdapter) QualifiedName added in v1.8.0

func (a *ReplicaSetAdapter) QualifiedName(obj pkgruntime.Object) QualifiedName

func (ReplicaSetAdapter) ScheduleObject added in v1.8.0

func (a ReplicaSetAdapter) ScheduleObject(cluster *federationapi.Cluster, clusterObj pkgruntime.Object, federationObjCopy pkgruntime.Object, schedulingInfo interface{}) (pkgruntime.Object, ScheduleAction, error)

func (ReplicaSetAdapter) UpdateFederatedStatus added in v1.8.0

func (a ReplicaSetAdapter) UpdateFederatedStatus(obj pkgruntime.Object, schedulingInfo interface{}) error

type ReplicaStatus added in v1.8.0

type ReplicaStatus struct {
	Replicas             int32
	UpdatedReplicas      int32
	FullyLabeledReplicas int32
	ReadyReplicas        int32
	AvailableReplicas    int32
}

ReplicaStatus contains the details of status fields from the cluster objects, which need accumulation to update the status of the federated object.

type ScheduleAction added in v1.8.0

type ScheduleAction string

ScheduleAction is used by the interface ScheduleObject of SchedulingAdapter to sync controller reconcile to convey the action type needed for the particular cluster local object in ScheduleObject

type SchedulingAdapter

type SchedulingAdapter interface {
	GetSchedule(obj pkgruntime.Object, key string, clusters []*federationapi.Cluster, informer fedutil.FederatedInformer) (interface{}, error)
	ScheduleObject(cluster *federationapi.Cluster, clusterObj pkgruntime.Object, federationObjCopy pkgruntime.Object, schedulingInfo interface{}) (pkgruntime.Object, ScheduleAction, error)
	UpdateFederatedStatus(obj pkgruntime.Object, schedulingInfo interface{}) error

	// EquivalentIgnoringSchedule returns whether obj1 and obj2 are
	// equivalent ignoring differences due to scheduling.
	EquivalentIgnoringSchedule(obj1, obj2 pkgruntime.Object) bool
}

SchedulingAdapter defines operations for interacting with a federated type that requires more complex synchronization logic.

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, qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*SecretAdapter) ClusterGet

func (a *SecretAdapter) ClusterGet(client kubeclientset.Interface, qualifiedName QualifiedName) (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(qualifiedName QualifiedName, options *metav1.DeleteOptions) error

func (*SecretAdapter) FedGet

func (a *SecretAdapter) FedGet(qualifiedName QualifiedName) (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) 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

func (*SecretAdapter) QualifiedName added in v1.8.0

func (a *SecretAdapter) QualifiedName(obj pkgruntime.Object) QualifiedName

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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