config

package
v0.0.0-...-4d19ac6 Latest Latest
Warning

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

Go to latest
Published: Nov 23, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SyncerConfiguration

type SyncerConfiguration struct {
	metav1.TypeMeta

	// LeaderElection defines the configuration of leader election client.
	LeaderElection SyncerLeaderElectionConfiguration

	// ClientConnection specifies the kubeconfig file and client connection
	// settings for the proxy server to use when communicating with the apiserver.
	ClientConnection componentbaseconfig.ClientConnectionConfiguration

	// DefaultOpaqueMetaDomains is the default configuration for each Virtual Cluster.
	// The key prefix of labels or annotations match this domain would be invisible to Virtual Cluster but
	// are kept in super cluster.
	// take tenant labels(annotations) ["foo=bar", "foo.kubernetes.io/foo=bar"] for example,
	// different configurations and possible final states are as follows:
	// DefaultOpaqueMetaDomains | labels(annotations) in super cluster
	// []                       | ["foo=bar", "foo.kubernetes.io/foo=bar"]
	// ["foo.kubernetes.io"]    | ["foo=bar", "foo.kubernetes.io/foo=foo", "foo.kubernetes.io/a=b"]
	// ["kubernetes.io"]        | ["foo=bar", "foo.kubernetes.io/foo=foo", "foo.kubernetes.io/a=b", "a.kubernetes.io/b=c"]
	// ["aaa"]                  | ["foo=bar", "foo.kubernetes.io/foo=bar", "aaa/b=c"]
	DefaultOpaqueMetaDomains []string

	// ExtraSyncingResources defines additional resources that need to be synced for each Virtual Cluster
	ExtraSyncingResources []string

	// DisableServiceAccountToken indicates whether to disable super cluster service account tokens being auto generated
	// and mounted in vc pods.
	DisableServiceAccountToken bool

	// DisablePodServiceLinks indicates whether to disable the `EnableServiceLinks` field in pPod spec.
	// Defaults to false, it won‘t mutate the EnableServiceLinks field in pPod spec.
	// If set to true, it will disable service links for all of the pPods to avoid massive env injections
	// from syncer which replace the kubelet generated envs.
	DisablePodServiceLinks bool

	// ExtraNodeLabels is the list of extra labels to be synced to vNode from the super cluster.
	ExtraNodeLabels []string

	// OpaqueTaintKeys is the list of taint keys to be synced to vNode from the super cluster
	OpaqueTaintKeys []string

	// VNAgentPort defines the port that the VN Agent is running on per host
	VNAgentPort int32

	// VNAgentNamespacedName defines the namespace/name of the VN Agent Kubernetes
	// service, this is used for feature VNodeProviderService.
	VNAgentNamespacedName string

	// VNAgentLabelSelector defines the label of the VN Agent Kubernetes pods, this
	// is used for the feature VNodeProviderPodIP
	VNAgentLabelSelector string

	// FeatureGates enabled by the user.
	FeatureGates map[string]bool

	// Super cluster rest config
	RestConfig *rest.Config

	// The maximum length of time to wait before giving up on a server request. A value of "" means use default.
	Timeout string

	// The DNSOptions are the DNS options in resolv.conf that is attached to pod
	DNSOptions []corev1.PodDNSConfigOption
}

SyncerConfiguration configures a syncer. It is read only during syncer life cycle.

type SyncerLeaderElectionConfiguration

type SyncerLeaderElectionConfiguration struct {
	componentbaseconfig.LeaderElectionConfiguration
	// LockObjectNamespace defines the namespace of the lock object
	LockObjectNamespace string
	// LockObjectName defines the lock object name
	LockObjectName string
}

SyncerLeaderElectionConfiguration expands LeaderElectionConfiguration to include syncer specific configuration.

Jump to

Keyboard shortcuts

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