multiprovider

package
v1.0.0-alpha.5 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2023 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Boundbox

func Boundbox(points [][]float64) []float64

Boundbox returns a rectangle which created according to the points of the polygon given

func CompareIPAddresses

func CompareIPAddresses(oldObj *corev1.Node, newObj *corev1.Node) bool

CompareIPAddresses makes a comparison between old and new objects of the node to return the information of the match

func GeoFence

func GeoFence(boundbox []float64, polygon [][]float64, x float64, y float64) bool

GeoFence function determines whether the point is inside a polygon by using the crossing number method. This method counts the number of times a ray starting at a point crosses a polygon boundary edge. The even numbers mean the point is outside and the odd ones mean the point is inside.

func GetConditionReadyStatus

func GetConditionReadyStatus(node *corev1.Node) string

GetConditionReadyStatus picks the ready status of node

func GetNodeIPAddresses

func GetNodeIPAddresses(obj *corev1.Node) (string, string)

GetNodeIPAddresses picks up the internal and external IP addresses of the Node

func GetRecordType

func GetRecordType(ip string) string

GetRecordType determines if the IP string is in the form of IPv4 or IPv6 and returns the record type

func SetHostnameNamecheap

func SetHostnameNamecheap(hostRecord namecheap.DomainDNSHost) (bool, string)

SetHostnameNamecheap generates token to be used on adding a node onto the cluster

func SetHostnameRoute53

func SetHostnameRoute53(id, key []byte, hostedZone, hostname, address, recordType string) (bool, string)

SetHostnameRoute53 add a DNS record to a Route53 hosted zone

Types

type Manager

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

Manager is the implementation to set up multitenancy.

func NewManager

func NewManager(kubeclientset kubernetes.Interface) *Manager

NewManager returns a new multitenancy manager

func (*Manager) CreateJoinToken

func (m *Manager) CreateJoinToken(ttl string, hostname string) string

CreateJoinToken generates token to be used on adding a node onto the cluster

func (*Manager) GetGeolocationByIP

func (m *Manager) GetGeolocationByIP(
	maxmindURL string,
	maxmindAccountID string,
	maxmindLicenseKey string,
	hostname string,
	address string,
) bool

GetGeolocationByIP returns geolabels from the MaxMind GeoIP2 precision service

func (*Manager) SetNodeScheduling

func (m *Manager) SetNodeScheduling(hostname string, unschedulable bool) error

SetNodeScheduling syncs the node with the node contribution

func (*Manager) SetOwnerReferences

func (m *Manager) SetOwnerReferences(hostname string, ownerReferences []metav1.OwnerReference) error

SetOwnerReferences make the references owner of the node

Jump to

Keyboard shortcuts

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