backend

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: May 17, 2024 License: Apache-2.0 Imports: 14 Imported by: 5

Documentation

Overview

+kubebuilder:object:generate=true +k8s:deepcopy-gen=package,register

Index

Constants

View Source
const (
	// system defined common
	KuidOwnerGroupKey     = "be.kuid.dev/owner-group"
	KuidOwnerVersionKey   = "be.kuid.dev/owner-version"
	KuidOwnerKindKey      = "be.kuid.dev/owner-kind"
	KuidOwnerNameKey      = "be.kuid.dev/owner-name"
	KuidOwnerNamespaceKey = "be.kuid.dev/owner-namespace"
	KuidClaimNameKey      = "be.kuid.dev/claim-name"
	KuidClaimTypeKey      = "be.kuid.dev/claim-type"
	// system defined ipam
	KuidIPAMIPPrefixTypeKey     = "ipam.be.kuid.dev/ipprefix-type"
	KuidIPAMClaimSummaryTypeKey = "ipam.be.kuid.dev/claim-summary-type"
	KuidIPAMddressFamilyKey     = "ipam.be.kuid.dev/address-family"
	KuidIPAMSubnetKey           = "ipam.be.kuid.dev/subnet" // this is the subnet in prefix annotation used for GW selection
	KuidIPAMDefaultGatewayKey   = "ipam.be.kuid.dev/default-gateway"
	KuidIPAMIndexKey            = "ipam.be.kuid.dev/index"

	// DNS used keys
	KuidINVNetworkKey  = "inv.kuid.dev/network"
	KuidINVEndpointKey = "inv.kuid.dev/endpoint-name"
	KuidINVHeadlessKey = "inv.kuid.dev/headless-name"
	KuidINVAliasKey    = "inv.kuid.dev/alias-name"
	KuidINVPortNS      = "port.kuid.dev"
	// Inventory
	KuidINVRegionKey           = "infra.be.kuid.dev/region"
	KuidINVAvailabilityZoneKey = "infra.be.kuid.dev/availability-zone"
	KuidINVSiteKey             = "infra.be.kuid.dev/site"
	KuidINVLocationKey         = "infra.be.kuid.dev/location"
	KuidINVRackKey             = "infra.be.kuid.dev/rack"
	KuidINVNodeKey             = "infra.be.kuid.dev/node"
	KuidINVLinkKey             = "infra.be.kuid.dev/link"
)
View Source
const (
	IndexReservedMinName = "rangeReservedMin"
	IndexReservedMaxName = "rangeReservedMax"
)

Variables

View Source
var BackendSystemClaimKeys = sets.New[string](KuidOwnerGroupKey,
	KuidClaimTypeKey,
)

Functions

This section is empty.

Types

type ClaimObject

type ClaimObject interface {
	Object
	GetIndex() string                   // implement
	GetSelector() *metav1.LabelSelector // implement
	GetOwnerSelector() (labels.Selector, error)
	GetClaimType() ClaimType
	GetLabelSelector() (labels.Selector, error)
	GetClaimLabels() labels.Set
	ValidateOwner(labels labels.Set) error
	GetStaticID() *uint64
	GetStaticTreeID(t string) tree.ID
	GetClaimID(t string, id uint64) tree.ID
	GetRange() *string
	GetRangeID(t string) (tree.Range, error)
	GetTable(t string, to, from uint64) table.Table
	SetStatusRange(*string)
	SetStatusID(*uint64)
	GetStatusID() *uint64
	ValidateSyntax(s string) field.ErrorList
	GetClaimRequest() string
	GetClaimResponse() string
}

type ClaimType

type ClaimType string

+k8s:openapi-gen=true ClaimType define the type of the claim

const (
	ClaimType_Invalid   ClaimType = "invalid"
	ClaimType_StaticID  ClaimType = "staticID"
	ClaimType_DynamicID ClaimType = "dynamicID"
	ClaimType_Range     ClaimType = "range"
)

func GetClaimTypeFromString

func GetClaimTypeFromString(s string) ClaimType

type EntryObject

type EntryObject interface {
	Object
	GetIndex() string
	GetClaimType() ClaimType
	GetOwnerGVK() schema.GroupVersionKind
	GetOwnerNSN() types.NamespacedName
	SetSpec(x any)
	GetSpec() any
	GetSpecID() string
}

type IndexObject

type IndexObject interface {
	Object
	GetTree() gtree.GTree
	GetType() string
	GetMinID() *uint64
	GetMaxID() *uint64
	GetMinClaim() ClaimObject
	GetMaxClaim() ClaimObject
	ValidateSyntax() field.ErrorList
}

type Object

type Object interface {
	client.Object
	GetNamespacedName() types.NamespacedName
	GetKey() store.Key
	GetOwnerReference() *commonv1alpha1.OwnerReference
	GetObjectMeta() *metav1.ObjectMeta
	GetCondition(t conditionv1alpha1.ConditionType) conditionv1alpha1.Condition
	SetConditions(c ...conditionv1alpha1.Condition)
	CalculateHash() ([sha1.Size]byte, error)
}

type ObjectList

type ObjectList interface {
	GetItems() []Object
	client.ObjectList
}

Directories

Path Synopsis
as
as defines the as api
as defines the as api
v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
esi
esi defines the esi api
esi defines the esi api
v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
extcomm defines the extcomm api
extcomm defines the extcomm api
v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
genid defines the genid api
genid defines the genid api
v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
infra defines the infra api
infra defines the infra api
v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
ipam defines the ipam api
ipam defines the ipam api
v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
vlan defines the vlan api
vlan defines the vlan api
v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
vxlan defines the vxlan api
vxlan defines the vxlan api
v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.

Jump to

Keyboard shortcuts

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