consts

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2022 License: Apache-2.0 Imports: 1 Imported by: 5

Documentation

Overview

Package consts provides most useful constant for Liqo Controllers

Index

Constants

View Source
const (
	// ClusterIDLabelName is the name of the label key to use with Cluster ID.
	ClusterIDLabelName = "clusterID"
	// ClusterIDConfigMapKey is the key of the configmap where the cluster-id is stored.
	ClusterIDConfigMapKey = "CLUSTER_ID"
	// ClusterNameConfigMapKey is the key of the configmap where the cluster-name is stored.
	ClusterNameConfigMapKey = "CLUSTER_NAME"
)
View Source
const (
	// ProviderClusterLabel is the cluster label used to indicate the cluster provider.
	ProviderClusterLabel = "liqo.io/provider"
	// TopologyRegionClusterLabel is the cluster label used to indicate the cluster region.
	TopologyRegionClusterLabel = "topology.kubernetes.io/region"
)
View Source
const (
	// NetworkManagerIpamPort is the port used by IPAM gRPCs.
	NetworkManagerIpamPort = 6000
	// NetworkManagerServiceName is the service name for IPAM gRPCs.
	NetworkManagerServiceName = "liqo-network-manager"
	// DefaultCIDRValue is the default value for a string that contains a CIDR.
	DefaultCIDRValue = "None"
	// NatMappingKind is the constant representing
	// the value of the Kind field of all NatMapping resources.
	NatMappingKind = "NatMapping"
	// NatMappingResourceLabelKey is the constant representing
	// the key of the label assigned to all NatMapping resources.
	NatMappingResourceLabelKey = "net.liqo.io/natmapping"
	// NatMappingResourceLabelValue is the constant representing
	// the value of the label assigned to all NatMapping resources.
	NatMappingResourceLabelValue = "true"
	// IpamStorageResourceLabelKey is the constant representing
	// the key of the label assigned to all IpamStorage resources.
	IpamStorageResourceLabelKey = "net.liqo.io/ipamstorage"
	// IpamStorageResourceLabelValue is the constant representing
	// the value of the label assigned to all IpamStorage resources.
	IpamStorageResourceLabelValue = "true"
	// RoutingTableID used to identify the custom routing table used
	// to configure the routes on the k8s nodes by route operator.
	RoutingTableID = 18952
	// OverlayNetPrefix prefix of the subnet used for the overlay network.
	// The last three octets of the IP addresses used for the vxlan devices,
	// are taken from the IPs of the nodes. In next PRs it will be introduced
	// new method to allocate non conflict IPs from a user defined subnet for
	// the overlay interfaces.
	OverlayNetPrefix = "240"
	// LiqoRouteOperatorName holds the name of the route operator.
	LiqoRouteOperatorName = "liqo-route"
	// LiqoGatewayOperatorName name of the operator.
	LiqoGatewayOperatorName = "liqo-gateway"
	// LiqoNetworkManagerName name of the operator.
	LiqoNetworkManagerName = "liqo-network-manager"
	// GatewayLeaderElectionID used as name for the lease.coordination.k8s.io resource.
	GatewayLeaderElectionID = "1d5hml1.gateway.net.liqo.io"
	// GatewayNetnsName name of the custom network namespace used by liqo-gateway.
	GatewayNetnsName = "liqo-netns"
	// HostVethName name of the veth device living in the host network namespace,
	// on the node where liqo-gateway is running.
	HostVethName = "liqo.host"
	// GatewayVethName nome of the veth device living in the custom network namespace
	// created by liqo-gateway.
	GatewayVethName = "liqo.gateway"
	// GatewayVethIPAddr ip address configured on gateway veth device. It is link local
	// IP address. No traffic leaving the custom network namespace has as source IP this
	// address.
	GatewayVethIPAddr = "169.254.100.1/32"
	// VxlanDeviceName name used for the vxlan devices created on each node by the instances
	// of liqo-route.
	VxlanDeviceName = "liqo.vxlan"
	// OverlayNetworkPrefix prefix used for the overlay network.
	OverlayNetworkPrefix = "240"
	// OverlayNetworkMask size of the overlay network.
	OverlayNetworkMask = "/8"
	// PodCIDR is a field of the TunnelEndpoint resource.
	PodCIDR = "PodCIDR"
	// ExternalCIDR is a field of the TunnelEndpoint resource.
	ExternalCIDR = "ExternalCIDR"
	// LocalPodCIDR is a field of the TunnelEndpoint resource.
	LocalPodCIDR = "LocalPodCIDR"
	// LocalExternalCIDR is a field of the TunnelEndpoint resource.
	LocalExternalCIDR = "LocalExternalCIDR"
	// LocalNATPodCIDR is a field of the TunnelEndpoint resource.
	LocalNATPodCIDR = "LocalNATPodCIDR"
	// LocalNATExternalCIDR is a field of the TunnelEndpoint resource.
	LocalNATExternalCIDR = "LocalNATExternalCIDR"
	// RemoteNATPodCIDR is a field of the TunnelEndpoint resource.
	RemoteNATPodCIDR = "RemoteNATPodCIDR"
	// RemoteNATExternalCIDR is a field of the TunnelEndpoint resource.
	RemoteNATExternalCIDR = "RemoteNATExternalCIDR"
	// FinalizersSuffix suffix used by the network operators to create the finalizers added to k8s resources.
	FinalizersSuffix = "net.liqo.io"
	// UDPMinPort min value for a udp port.
	UDPMinPort = 1
	// UDPMaxPort max value for a udp port.
	UDPMaxPort = 65535
	// DefaultMTU default value for the mtu used in the network interfaces managed by the network operators.
	// Used by:
	//  - the route operator for the vxlan interfaces;
	//  - the gateway operator for vpn tunnel and veth pair between host network namespace and custom network namespace.
	DefaultMTU = 1440
	// GatewayListeningPort port used by the vpn tunnel.
	GatewayListeningPort = 5871
)
View Source
const (
	// RemoteClusterID is used to obtain cluster-id from different Liqo resources.
	RemoteClusterID = "liqo.io/remote-cluster-id"
	// TypeLabel is the key of a Liqo label that identifies different types of nodes.
	// todo: change to NodeTypeLabel
	TypeLabel = "liqo.io/type"
	// TypeNode is the value of a Liqo label that identifies Liqo virtual nodes.
	// todo: change to VirtualNodeType
	TypeNode = "virtual-node"
	// DocumentationURL is the URL to official Liqo Documentation.
	DocumentationURL = "https://doc.liqo.io/"
	// DefaultNamespaceOffloadingName is the default name of NamespaceOffloading resources. Every namespace that has
	// to be offloaded with Liqo, must have a NamespaceOffloading resource with this name.
	DefaultNamespaceOffloadingName = "offloading"
	// EnablingLiqoLabel is used to create a default NamespaceOffloading resource for the labeled namespace, this
	// is an alternative way to start Liqo offloading.
	EnablingLiqoLabel = "liqo.io/enabled"
	// EnablingLiqoLabelValue unique value allowed for EnablingLiqoLabel.
	EnablingLiqoLabelValue = "true"
	// SchedulingLiqoLabel is necessary in order to allow Pods to be scheduled on remote clusters.
	SchedulingLiqoLabel = "liqo.io/scheduling-enabled"
	// SchedulingLiqoLabelValue unique value allowed for SchedulingLiqoLabel.
	SchedulingLiqoLabelValue = "true"
	// RoleBindingLabelKey label that some RoleBindings in the remote namespace must have. In every remote namespace
	// there are some RoleBindings that provide the local virtualKubelet with some privileges. These RoleBindings just
	// described must have that RoleBindingLabel.
	RoleBindingLabelKey = "capsule.clastix.io/tenant"
	// RoleBindingLabelValuePrefix prefix of the value that the RoleBindingLabel must have.
	RoleBindingLabelValuePrefix = "tenant"
	// RemoteNamespaceAnnotationKey is the annotation that all remote namespaces created by the NamespaceMap controller
	// must have.
	RemoteNamespaceAnnotationKey = "liqo.io/remote-namespace"
)
View Source
const (
	// ClusterNameParameter is the name of the parameter specifying the cluster name.
	ClusterNameParameter = "cluster-name"
	// ClusterLabelsParameter is the name of the parameter specifying the cluster labels.
	ClusterLabelsParameter = "cluster-labels"
	// ReservedSubnetsParameter is the name of the parameter specifying the cluster's reserved subnets.
	ReservedSubnetsParameter = "reserved-subnets"
	// EnableLanDiscoveryParameter is the name of the parameter specifying whether the lan discovery is enabled.
	EnableLanDiscoveryParameter = "enable-lan-discovery"
	// GenerateNameParameter is the name of the parameter specifying whether to generate a random name for the cluster.
	GenerateNameParameter = "generate-name"

	// AuthServiceAddressOverrideParameter is the name of the parameter overriding
	// the automatically detected authentication service address.
	AuthServiceAddressOverrideParameter = "auth-service-address-override"
	// AuthServicePortOverrideParameter is the name of the parameter overriding
	// the automatically detected authentication service address.
	AuthServicePortOverrideParameter = "auth-service-port-override"
)
View Source
const (
	// OwnershipLocal indicates that the resource is owned by the local cluster.
	OwnershipLocal OwnershipType = "Local"
	// OwnershipShared indicates that the ownership over the resource is shared between the two clusters.
	// In particular:
	// - the spec of the resource is owned by the local cluster.
	// - the status by the remote cluster.
	OwnershipShared OwnershipType = "Shared"

	// ReplicationRequestedLabel is the key of a label indicating whether the given resource should be replicated remotely.
	ReplicationRequestedLabel = "liqo.io/replication"
	// ReplicationOriginLabel is the key of a label indicating the origin cluster of a replicated resource.
	ReplicationOriginLabel = "liqo.io/originID"
	// ReplicationDestinationLabel is the key of a label indicating the destination cluster of a replicated resource.
	ReplicationDestinationLabel = "liqo.io/remoteID"
	// ReplicationStatusLabel is the key of a label indicating that this resource has been created by a remote cluster through replication.
	ReplicationStatusLabel = "liqo.io/replicated"

	// LocalPodLabelKey label key added to all the local pods that have been offloaded/replicated to a remote cluster.
	LocalPodLabelKey = "liqo.io/shadowPod"
	// LocalPodLabelValue value of the label added to the local pods that have been offloaded/replicated to a remote cluster.
	LocalPodLabelValue = "true"
)
View Source
const (
	// StorageProvisionerName is the name of the liqo storage provisioner.
	StorageProvisionerName = "liqo.io/storage"

	// StorageAvailableLabel is the label used to mark if the liqo storage is available on a virtual node.
	StorageAvailableLabel = "storage.liqo.io/available"

	// VirtualPvcNamespaceLabel is the label used to mark the namespace of a virtual PVC.
	VirtualPvcNamespaceLabel = "storage.liqo.io/virtual-pvc-namespace"
	// VirtualPvcNameLabel is the label used to mark the name of a virtual PVC.
	VirtualPvcNameLabel = "storage.liqo.io/virtual-pvc-name"
)
View Source
const (
	// AuthServiceName contains the name of the Liqo Authentication service.
	AuthServiceName = "liqo-auth"
)
View Source
const NodeFinalizer = "liqo.io/node"

NodeFinalizer is the finalizer added on a ResourceOffer when the related VirtualNode is up. (managed by the VirtualKubelet).

View Source
const VirtualKubeletFinalizer = "liqo.io/virtualkubelet"

VirtualKubeletFinalizer is the finalizer added on a ResourceOffer when the related VirtualKubelet is up. (managed by the ResourceOffer Operator).

View Source
const (
	// VirtualNodeTolerationKey all Pods that have to be scheduled on virtual nodes must have this toleration
	// to Liqo taint.
	VirtualNodeTolerationKey = "virtual-node.liqo.io/not-allowed"
)

Variables

This section is empty.

Functions

func ClusterIDConfigMapSelector added in v0.3.1

func ClusterIDConfigMapSelector() labels.Selector

ClusterIDConfigMapSelector returns the selector for the configmap where the cluster-id is stored.

Types

type OwnershipType

type OwnershipType string

OwnershipType indicates the type of ownership over a resource.

type PeeringPhase

type PeeringPhase string

PeeringPhase contains the status of the peering with a remote cluster.

const (
	// PeeringPhaseNone -> no pering has been established.
	PeeringPhaseNone PeeringPhase = "None"
	// PeeringPhaseAuthenticated -> an identity to interact with the remote cluster is available.
	PeeringPhaseAuthenticated PeeringPhase = "Authenticated"
	// PeeringPhaseEstablished -> the peering has been established (either incoming or outgoing).
	PeeringPhaseEstablished PeeringPhase = "Established"
	// PeeringPhaseIncoming -> an incoming peering has been established.
	PeeringPhaseIncoming PeeringPhase = "Incoming"
	// PeeringPhaseOutgoing -> an outgoing peering has been established.
	PeeringPhaseOutgoing PeeringPhase = "Outgoing"
	// PeeringPhaseBidirectional -> both incoming and outgoing peerings have been established.
	PeeringPhaseBidirectional PeeringPhase = "Bidirectional"
)

Jump to

Keyboard shortcuts

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