v1alpha1

package
v0.0.0-...-c7dd6ca Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=flipop.digitalocean.com

Index

Constants

View Source
const (
	// GroupName is the group name used in this package.
	GroupName string = "flipop.digitalocean.com"
	// GroupVersion is the version.
	GroupVersion string = "v1alpha1"
)

Variables

View Source
var (
	// SchemeGroupVersion is the group version used to register these objects.
	SchemeGroupVersion = schema.GroupVersion{
		Group:   GroupName,
		Version: GroupVersion,
	}

	// SchemeBuilder ...
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme ...
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type DNSRecordSet

type DNSRecordSet struct {
	Provider   string `json:"provider"`
	Zone       string `json:"zone"`
	RecordName string `json:"recordName"`
	TTL        int    `json:"ttl"`
}

DNSRecordSet describes parameters for creating/updating a DNS record set.

func (*DNSRecordSet) DeepCopy

func (in *DNSRecordSet) DeepCopy() *DNSRecordSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordSet.

func (*DNSRecordSet) DeepCopyInto

func (in *DNSRecordSet) DeepCopyInto(out *DNSRecordSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FloatingIPPool

type FloatingIPPool struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FloatingIPPoolSpec   `json:"spec,omitempty"`
	Status FloatingIPPoolStatus `json:"status,omitempty"`
}

FloatingIPPool defines a schema describing a desired mapping of floating IPs to nodes. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*FloatingIPPool) DeepCopy

func (in *FloatingIPPool) DeepCopy() *FloatingIPPool

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FloatingIPPool.

func (*FloatingIPPool) DeepCopyInto

func (in *FloatingIPPool) DeepCopyInto(out *FloatingIPPool)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FloatingIPPool) DeepCopyObject

func (in *FloatingIPPool) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FloatingIPPoolList

type FloatingIPPoolList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FloatingIPPool `json:"items"`
}

FloatingIPPoolList contains a list of FloatingIPPool

func (*FloatingIPPoolList) DeepCopy

func (in *FloatingIPPoolList) DeepCopy() *FloatingIPPoolList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FloatingIPPoolList.

func (*FloatingIPPoolList) DeepCopyInto

func (in *FloatingIPPoolList) DeepCopyInto(out *FloatingIPPoolList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FloatingIPPoolList) DeepCopyObject

func (in *FloatingIPPoolList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FloatingIPPoolSpec

type FloatingIPPoolSpec struct {
	// IPs is a list of floating IP addresses for assignment. IPs may be omitted or incomplete if
	// DesiredIPs is provided.
	IPs []string `json:"ips"`

	// DesiredIPs specifies the total number of IPs which should be available for assignment. If
	// DesiredIPs is 0 or omitted, all IPs in the IPs field will be used.
	DesiredIPs int `json:"desiredIPs,omitempty"`

	// BaseProvider describes the provider hosting the specified IPs. It's assumed all matching nodes
	// are associated with the specified provider.
	Provider string `json:"provider,omitempty"`

	// Region describes the region associated with the specified IPs. It's assumed all matching
	// nodes are associated with the specified region.
	Region string `json:"region,omitempty"`

	// Match describes the set of nodes to assign IPs.
	Match Match `json:"match"`

	// DNS describes a DNS record which should point to the floating IPs.
	DNSRecordSet *DNSRecordSet `json:"dnsRecordSet,omitempty"`

	// AssignmentCoolOffSeconds sets a delay between IP assignments. This functionality can be used
	// to prevent rapid reshuffling and reduces the chances/impact of concurrent assignments.
	AssignmentCoolOffSeconds float64 `json:"assignmentCoolOffSeconds,omitempty"`
}

FloatingIPPoolSpec defines the desired state of FloatingIPPool.

func (*FloatingIPPoolSpec) DeepCopy

func (in *FloatingIPPoolSpec) DeepCopy() *FloatingIPPoolSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FloatingIPPoolSpec.

func (*FloatingIPPoolSpec) DeepCopyInto

func (in *FloatingIPPoolSpec) DeepCopyInto(out *FloatingIPPoolSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FloatingIPPoolStatus

type FloatingIPPoolStatus struct {
	IPs             map[string]IPStatus `json:"ips,omitempty"`
	NodeErrors      []string            `json:"nodeErrors,omitempty"`
	AssignableNodes []string            `json:"assignableNodes,omitempty"`
	Error           string              `json:"error,omitempty"`
}

FloatingIPPoolStatus defines the observed state of FloatingIPPool.

func (*FloatingIPPoolStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FloatingIPPoolStatus.

func (*FloatingIPPoolStatus) DeepCopyInto

func (in *FloatingIPPoolStatus) DeepCopyInto(out *FloatingIPPoolStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPState

type IPState string

IPState describes the condition of an IP.

const (
	// IPStateActive indicates an IP is assigned to a matching node.
	IPStateActive IPState = "active"
	// IPStateInProgress indicates an action against the IP is in progress.
	IPStateInProgress IPState = "in-progress"
	// IPStateError indicates the last action against the IP failed.
	IPStateError IPState = "error"
	// IPStateNoMatch indicates the IP is assigned, but the target node is not matching.
	IPStateNoMatch IPState = "no-match"
	// IPStateUnassigned indicates the IP is currently unassigned.
	IPStateUnassigned IPState = "unassigned"
	// IPStateDisabled indicates the IP is beyond the desiredIPs limit, and temporarily disabled.
	IPStateDisabled IPState = "disabled"
)

type IPStatus

type IPStatus struct {
	State      IPState `json:"state"`
	NodeName   string  `json:"nodeName,omitempty"`
	ProviderID string  `json:"providerID,omitempty"`
	Error      string  `json:"error,omitempty"`
}

IPStatus describes the mapping between IPs and the matching resources responsible for their attachment.

func (*IPStatus) DeepCopy

func (in *IPStatus) DeepCopy() *IPStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPStatus.

func (*IPStatus) DeepCopyInto

func (in *IPStatus) DeepCopyInto(out *IPStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Match

type Match struct {
	// NodeLabel is used to restrict the nodes IPs can be assigned to. Empty string matches all.
	NodeLabel string `json:"nodeLabel,omitempty"`

	// PodLabel, if specified, requires candidate nodes include at least one matching
	// pod in the "Running" states and "Ready" condition.
	PodLabel string `json:"podLabel,omitempty"`

	// PodNamespace restricts the namespace used for pod matching. If omitted, all namespaces are
	// considered.
	PodNamespace string `json:"podNamespace,omitempty"`

	// Tolerations is a list of node taints we will tolerate when deciding if the
	// node is a suitable candidate.
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

Match describes a pattern for finding resources the floating-IP should follow.

func (*Match) DeepCopy

func (in *Match) DeepCopy() *Match

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Match.

func (*Match) DeepCopyInto

func (in *Match) DeepCopyInto(out *Match)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeDNSRecordSet

type NodeDNSRecordSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NodeDNSRecordSetSpec   `json:"spec,omitempty"`
	Status NodeDNSRecordSetStatus `json:"status,omitempty"`
}

NodeDNSRecordSet defines a schema for updating a DNS record set to target matching nodes. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*NodeDNSRecordSet) DeepCopy

func (in *NodeDNSRecordSet) DeepCopy() *NodeDNSRecordSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeDNSRecordSet.

func (*NodeDNSRecordSet) DeepCopyInto

func (in *NodeDNSRecordSet) DeepCopyInto(out *NodeDNSRecordSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeDNSRecordSet) DeepCopyObject

func (in *NodeDNSRecordSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeDNSRecordSetList

type NodeDNSRecordSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeDNSRecordSet `json:"items"`
}

NodeDNSRecordSetList contains a list of NodeDNSRecordSet

func (*NodeDNSRecordSetList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeDNSRecordSetList.

func (*NodeDNSRecordSetList) DeepCopyInto

func (in *NodeDNSRecordSetList) DeepCopyInto(out *NodeDNSRecordSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeDNSRecordSetList) DeepCopyObject

func (in *NodeDNSRecordSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeDNSRecordSetSpec

type NodeDNSRecordSetSpec struct {
	// Match describes the set of nodes to assign DNS entries.
	Match Match `json:"match"`

	// DNS describes a DNS record which should point to matching nodes.
	DNSRecordSet DNSRecordSet `json:"dnsRecordSet"`

	// AddressType defines which node IP to add (ex. ExternalIP or InternalIP), currently hostname
	// and IPv6 address types are not supported. Defaults to ExternalIP.
	AddressType corev1.NodeAddressType `json:"addressType"`
}

NodeDNSRecordSetSpec defines the desired state of NodeDNSRecordSet.

func (*NodeDNSRecordSetSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeDNSRecordSetSpec.

func (*NodeDNSRecordSetSpec) DeepCopyInto

func (in *NodeDNSRecordSetSpec) DeepCopyInto(out *NodeDNSRecordSetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeDNSRecordSetStatus

type NodeDNSRecordSetStatus struct {
	Error string             `json:"error,omitempty"`
	State NodeDNSRecordState `json:"state"`
}

NodeDNSRecordSetStatus defines the observed state of NodeDNSRecordSet.

func (*NodeDNSRecordSetStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeDNSRecordSetStatus.

func (*NodeDNSRecordSetStatus) DeepCopyInto

func (in *NodeDNSRecordSetStatus) DeepCopyInto(out *NodeDNSRecordSetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeDNSRecordState

type NodeDNSRecordState string

NodeDNSRecordState describes the condition of a NodeDNSRecordSet.

const (
	// NodeDNSRecordActive indicates that the DNS record has been created.
	NodeDNSRecordActive NodeDNSRecordState = "active"
	// NodeDNSRecordInProgress indicates an DNS record action in progress.
	NodeDNSRecordInProgress NodeDNSRecordState = "in-progress"
	// NodeDNSRecordError indicates the last  DNS record action failed.
	NodeDNSRecordError NodeDNSRecordState = "error"
)

Jump to

Keyboard shortcuts

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