replication

package
v0.25.0 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2024 License: Apache-2.0 Imports: 32 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// ByShardAndLogicalClusterAndNamespaceAndName is the name for the index that indexes by an object's shard and logical cluster, namespace and name.
	ByShardAndLogicalClusterAndNamespaceAndName = "kcp-byShardAndLogicalClusterAndNamespaceAndName"
)
View Source
const (
	// ControllerName hold this controller name.
	ControllerName = "kcp-replication-controller"
)

Variables

This section is empty.

Functions

func IndexByShardAndLogicalClusterAndNamespace

func IndexByShardAndLogicalClusterAndNamespace(obj interface{}) ([]string, error)

IndexByShardAndLogicalClusterAndNamespace is an index function that indexes by an object's shard and logical cluster, namespace and name.

func InstallIndexers added in v0.25.0

InstallIndexers adds the additional indexers that this controller requires to the informers.

func IsNoSystemClusterName added in v0.11.0

func IsNoSystemClusterName(obj interface{}) bool

func NewController

func NewController(
	shardName string,
	dynamicCacheClient kcpdynamic.ClusterInterface,
	localKcpInformers kcpinformers.SharedInformerFactory,
	globalKcpInformers kcpinformers.SharedInformerFactory,
	localKubeInformers kcpkubernetesinformers.SharedInformerFactory,
	globalKubeInformers kcpkubernetesinformers.SharedInformerFactory,
	gvrs map[schema.GroupVersionResource]ReplicatedGVR,
) (*controller, error)

NewController returns a new replication controller.

The replicated object will be placed under the same cluster as the original object. In addition to that, all replicated objects will be placed under the shard taken from the shardName argument. For example: shards/{shardName}/clusters/{clusterName}/apis/apis.kcp.io/v1alpha1/apiexports.

func ShardAndLogicalClusterAndNamespaceKey

func ShardAndLogicalClusterAndNamespaceKey(shard string, cluster logicalcluster.Name, namespace, name string) string

ShardAndLogicalClusterAndNamespaceKey creates an index key from the given parameters. As of today this function is used by IndexByShardAndLogicalClusterAndNamespace indexer.

Types

type ReplicatedGVR added in v0.25.0

type ReplicatedGVR struct {
	Kind          string
	Filter        func(u *unstructured.Unstructured) bool
	Global, Local cache.SharedIndexInformer
}

Jump to

Keyboard shortcuts

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