Documentation ¶
Index ¶
- Constants
- Variables
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func Resource(resource string) schema.GroupResource
- type AllocationAttribute
- type BlockAffinity
- type BlockAffinityList
- type BlockAffinitySpec
- type IPAMBlock
- type IPAMBlockList
- type IPAMBlockSpec
- type IPAMConfig
- type IPAMConfigList
- type IPAMConfigSpec
- type IPAMHandle
- type IPAMHandleList
- type IPAMHandleSpec
- type IPNAT
- type Node
- type NodeAddress
- type NodeBGPSpec
- type NodeList
- type NodeSpec
- type NodeStatus
- type NodeWireguardSpec
- type OrchRef
- type WorkloadEndpoint
- type WorkloadEndpointList
- type WorkloadEndpointPort
- type WorkloadEndpointSpec
Constants ¶
const ( KindBlockAffinity = "BlockAffinity" KindBlockAffinityList = "BlockAffinityList" )
const ( KindIPAMBlock = "IPAMBlock" KindIPAMBlockList = "IPAMBlockList" )
const ( KindIPAMConfig = "IPAMConfig" KindIPAMConfigList = "IPAMConfigList" GlobalIPAMConfigName = "default" )
const ( KindIPAMHandle = "IPAMHandle" KindIPAMHandleList = "IPAMHandleList" )
const ( KindNode = "Node" KindNodeList = "NodeList" CalicoNodeIP = "CalicoNodeIP" InternalIP = "InternalIP" ExternalIP = "ExternalIP" )
const ( KindWorkloadEndpoint = "WorkloadEndpoint" KindWorkloadEndpointList = "WorkloadEndpointList" )
Variables ¶
var ( SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: "crd.projectcalico.org", Version: "v1"}
Functions ¶
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AllocationAttribute ¶
type AllocationAttribute struct { AttrPrimary *string `json:"handle_id,omitempty"` AttrSecondary map[string]string `json:"secondary,omitempty"` }
func (*AllocationAttribute) DeepCopy ¶
func (in *AllocationAttribute) DeepCopy() *AllocationAttribute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationAttribute.
func (*AllocationAttribute) DeepCopyInto ¶
func (in *AllocationAttribute) DeepCopyInto(out *AllocationAttribute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlockAffinity ¶
type BlockAffinity struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the BlockAffinity. Spec BlockAffinitySpec `json:"spec,omitempty"` }
BlockAffinity maintains a block affinity's state
func NewBlockAffinity ¶
func NewBlockAffinity() *BlockAffinity
NewBlockAffinity creates a new (zeroed) BlockAffinity struct with the TypeMetadata initialised to the current version.
func (*BlockAffinity) DeepCopy ¶
func (in *BlockAffinity) DeepCopy() *BlockAffinity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockAffinity.
func (*BlockAffinity) DeepCopyInto ¶
func (in *BlockAffinity) DeepCopyInto(out *BlockAffinity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlockAffinity) DeepCopyObject ¶
func (in *BlockAffinity) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BlockAffinityList ¶
type BlockAffinityList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []BlockAffinity `json:"items"` }
BlockAffinityList contains a list of BlockAffinity resources.
func NewBlockAffinityList ¶
func NewBlockAffinityList() *BlockAffinityList
NewBlockAffinityList creates a new (zeroed) BlockAffinityList struct with the TypeMetadata initialised to the current version.
func (*BlockAffinityList) DeepCopy ¶
func (in *BlockAffinityList) DeepCopy() *BlockAffinityList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockAffinityList.
func (*BlockAffinityList) DeepCopyInto ¶
func (in *BlockAffinityList) DeepCopyInto(out *BlockAffinityList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlockAffinityList) DeepCopyObject ¶
func (in *BlockAffinityList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BlockAffinitySpec ¶
type BlockAffinitySpec struct { State string `json:"state"` Node string `json:"node"` CIDR string `json:"cidr"` // Deleted indicates that this block affinity is being deleted. // This field is a string for compatibility with older releases that // mistakenly treat this field as a string. Deleted string `json:"deleted"` }
BlockAffinitySpec contains the specification for a BlockAffinity resource.
func (*BlockAffinitySpec) DeepCopy ¶
func (in *BlockAffinitySpec) DeepCopy() *BlockAffinitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockAffinitySpec.
func (*BlockAffinitySpec) DeepCopyInto ¶
func (in *BlockAffinitySpec) DeepCopyInto(out *BlockAffinitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAMBlock ¶
type IPAMBlock struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the IPAMBlock. Spec IPAMBlockSpec `json:"spec,omitempty"` }
IPAMBlock contains information about a block for IP address assignment.
func NewIPAMBlock ¶
func NewIPAMBlock() *IPAMBlock
NewIPAMBlock creates a new (zeroed) IPAMBlock struct with the TypeMetadata initialised to the current version.
func (*IPAMBlock) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMBlock.
func (*IPAMBlock) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMBlock) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMBlockList ¶
type IPAMBlockList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []IPAMBlock `json:"items"` }
IPAMBlockList contains a list of IPAMBlock resources.
func NewIPAMBlockList ¶
func NewIPAMBlockList() *IPAMBlockList
NewIPAMBlockList creates a new (zeroed) IPAMBlockList struct with the TypeMetadata initialised to the current version.
func (*IPAMBlockList) DeepCopy ¶
func (in *IPAMBlockList) DeepCopy() *IPAMBlockList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMBlockList.
func (*IPAMBlockList) DeepCopyInto ¶
func (in *IPAMBlockList) DeepCopyInto(out *IPAMBlockList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMBlockList) DeepCopyObject ¶
func (in *IPAMBlockList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMBlockSpec ¶
type IPAMBlockSpec struct { // The block's CIDR. CIDR string `json:"cidr"` // Affinity of the block, if this block has one. If set, it will be of the form // "host:<hostname>". If not set, this block is not affine to a host. Affinity *string `json:"affinity,omitempty"` // Array of allocations in-use within this block. nil entries mean the allocation is free. // For non-nil entries at index i, the index is the ordinal of the allocation within this block // and the value is the index of the associated attributes in the Attributes array. Allocations []*int `json:"allocations"` // Unallocated is an ordered list of allocations which are free in the block. Unallocated []int `json:"unallocated"` // Attributes is an array of arbitrary metadata associated with allocations in the block. To find // attributes for a given allocation, use the value of the allocation's entry in the Allocations array // as the index of the element in this array. Attributes []AllocationAttribute `json:"attributes"` // We store a sequence number that is updated each time the block is written. // Each allocation will also store the sequence number of the block at the time of its creation. // When releasing an IP, passing the sequence number associated with the allocation allows us // to protect against a race condition and ensure the IP hasn't been released and re-allocated // since the release request. // // +kubebuilder:default=0 // +optional SequenceNumber uint64 `json:"sequenceNumber"` // Map of allocated ordinal within the block to sequence number of the block at // the time of allocation. Kubernetes does not allow numerical keys for maps, so // the key is cast to a string. // +optional SequenceNumberForAllocation map[string]uint64 `json:"sequenceNumberForAllocation"` // Deleted is an internal boolean used to workaround a limitation in the Kubernetes API whereby // deletion will not return a conflict error if the block has been updated. It should not be set manually. // +optional Deleted bool `json:"deleted"` // StrictAffinity on the IPAMBlock is deprecated and no longer used by the code. Use IPAMConfig StrictAffinity instead. DeprecatedStrictAffinity bool `json:"strictAffinity"` }
IPAMBlockSpec contains the specification for an IPAMBlock resource.
func (*IPAMBlockSpec) DeepCopy ¶
func (in *IPAMBlockSpec) DeepCopy() *IPAMBlockSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMBlockSpec.
func (*IPAMBlockSpec) DeepCopyInto ¶
func (in *IPAMBlockSpec) DeepCopyInto(out *IPAMBlockSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAMConfig ¶
type IPAMConfig struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the IPAMConfig. Spec IPAMConfigSpec `json:"spec,omitempty"` }
IPAMConfig contains information about a block for IP address assignment.
func NewIPAMConfig ¶
func NewIPAMConfig() *IPAMConfig
NewIPAMConfig creates a new (zeroed) IPAMConfig struct with the TypeMetadata initialised to the current version.
func (*IPAMConfig) DeepCopy ¶
func (in *IPAMConfig) DeepCopy() *IPAMConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMConfig.
func (*IPAMConfig) DeepCopyInto ¶
func (in *IPAMConfig) DeepCopyInto(out *IPAMConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMConfig) DeepCopyObject ¶
func (in *IPAMConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMConfigList ¶
type IPAMConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []IPAMConfig `json:"items"` }
IPAMConfigList contains a list of IPAMConfig resources.
func NewIPAMConfigList ¶
func NewIPAMConfigList() *IPAMConfigList
NewIPAMConfigList creates a new (zeroed) IPAMConfigList struct with the TypeMetadata initialised to the current version.
func (*IPAMConfigList) DeepCopy ¶
func (in *IPAMConfigList) DeepCopy() *IPAMConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMConfigList.
func (*IPAMConfigList) DeepCopyInto ¶
func (in *IPAMConfigList) DeepCopyInto(out *IPAMConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMConfigList) DeepCopyObject ¶
func (in *IPAMConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMConfigSpec ¶
type IPAMConfigSpec struct { StrictAffinity bool `json:"strictAffinity"` AutoAllocateBlocks bool `json:"autoAllocateBlocks"` // MaxBlocksPerHost, if non-zero, is the max number of blocks that can be // affine to each host. // +kubebuilder:validation:Minimum:=0 // +kubebuilder:validation:Maximum:=2147483647 // +optional MaxBlocksPerHost int `json:"maxBlocksPerHost,omitempty"` }
IPAMConfigSpec contains the specification for an IPAMConfig resource.
func (*IPAMConfigSpec) DeepCopy ¶
func (in *IPAMConfigSpec) DeepCopy() *IPAMConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMConfigSpec.
func (*IPAMConfigSpec) DeepCopyInto ¶
func (in *IPAMConfigSpec) DeepCopyInto(out *IPAMConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAMHandle ¶
type IPAMHandle struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the IPAMHandle. Spec IPAMHandleSpec `json:"spec,omitempty"` }
IPAMHandle contains information about an IPAMHandle resource.
func NewIPAMHandle ¶
func NewIPAMHandle() *IPAMHandle
NewIPAMHandle creates a new (zeroed) IPAMHandle struct with the TypeMetadata initialised to the current version.
func (*IPAMHandle) DeepCopy ¶
func (in *IPAMHandle) DeepCopy() *IPAMHandle
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMHandle.
func (*IPAMHandle) DeepCopyInto ¶
func (in *IPAMHandle) DeepCopyInto(out *IPAMHandle)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMHandle) DeepCopyObject ¶
func (in *IPAMHandle) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMHandleList ¶
type IPAMHandleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []IPAMHandle `json:"items"` }
IPAMHandleList contains a list of IPAMHandle resources.
func NewIPAMHandleList ¶
func NewIPAMHandleList() *IPAMHandleList
NewIPAMHandleList creates a new (zeroed) IPAMHandleList struct with the TypeMetadata initialised to the current version.
func (*IPAMHandleList) DeepCopy ¶
func (in *IPAMHandleList) DeepCopy() *IPAMHandleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMHandleList.
func (*IPAMHandleList) DeepCopyInto ¶
func (in *IPAMHandleList) DeepCopyInto(out *IPAMHandleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMHandleList) DeepCopyObject ¶
func (in *IPAMHandleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMHandleSpec ¶
type IPAMHandleSpec struct { HandleID string `json:"handleID"` Block map[string]int `json:"block"` // +optional Deleted bool `json:"deleted"` }
IPAMHandleSpec contains the specification for an IPAMHandle resource.
func (*IPAMHandleSpec) DeepCopy ¶
func (in *IPAMHandleSpec) DeepCopy() *IPAMHandleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMHandleSpec.
func (*IPAMHandleSpec) DeepCopyInto ¶
func (in *IPAMHandleSpec) DeepCopyInto(out *IPAMHandleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPNAT ¶
type IPNAT struct { // The internal IP address which must be associated with the owning endpoint via the // configured IPNetworks for the endpoint. InternalIP string `json:"internalIP" validate:"omitempty,ip"` // The external IP address. ExternalIP string `json:"externalIP" validate:"omitempty,ip"` }
IPNat contains a single NAT mapping for a WorkloadEndpoint resource.
func (*IPNAT) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPNAT.
func (*IPNAT) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Node ¶
type Node struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the Node. Spec NodeSpec `json:"spec,omitempty"` // Status of the Node. Status NodeStatus `json:"status,omitempty"` }
Node contains information about a Node resource.
func NewNode ¶
func NewNode() *Node
NewNode creates a new (zeroed) Node struct with the TypeMetadata initialised to the current version.
func (*Node) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Node) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeAddress ¶
type NodeAddress struct { // Address is a string representation of the actual address. Address string `json:"address" validate:"net"` // Type is the node IP type Type string `json:"type,omitempty" validate:"omitempty,ipType"` }
NodeAddress represents an address assigned to a node.
func (*NodeAddress) DeepCopy ¶
func (in *NodeAddress) DeepCopy() *NodeAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAddress.
func (*NodeAddress) DeepCopyInto ¶
func (in *NodeAddress) DeepCopyInto(out *NodeAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeBGPSpec ¶
type NodeBGPSpec struct { // The AS Number of the node. If this is not specified, the global // default value will be used. ASNumber *numorstring.ASNumber `json:"asNumber,omitempty"` // IPv4Address is the IPv4 address and network of this node. The IPv4 address // should always be specified if you are using BGP. IPv4Address string `json:"ipv4Address,omitempty" validate:"omitempty,cidrv4"` // IPv6Address is the IPv6 address and network of this node. Not required if you // are not using BGP or you do not require IPv6 routing. IPv6Address string `json:"ipv6Address,omitempty" validate:"omitempty,cidrv6"` // IPv4IPIPTunnelAddr is the IPv4 address of the IP in IP tunnel. IPv4IPIPTunnelAddr string `json:"ipv4IPIPTunnelAddr,omitempty" validate:"omitempty,ipv4"` // RouteReflectorClusterID enables this node as a route reflector within the given // cluster. RouteReflectorClusterID string `json:"routeReflectorClusterID,omitempty" validate:"omitempty,ipv4"` }
NodeBGPSpec contains the specification for the Node BGP configuration.
func (*NodeBGPSpec) DeepCopy ¶
func (in *NodeBGPSpec) DeepCopy() *NodeBGPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeBGPSpec.
func (*NodeBGPSpec) DeepCopyInto ¶
func (in *NodeBGPSpec) DeepCopyInto(out *NodeBGPSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeList ¶
type NodeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Node `json:"items"` }
NodeList contains a list of Node resources.
func NewNodeList ¶
func NewNodeList() *NodeList
NewNodeList creates a new (zeroed) NodeList struct with the TypeMetadata initialised to the current version.
func (*NodeList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeList.
func (*NodeList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeSpec ¶
type NodeSpec struct { // BGP configuration for this node. BGP *NodeBGPSpec `json:"bgp,omitempty" validate:"omitempty"` // IPv4VXLANTunnelAddr is the IPv4 address of the VXLAN tunnel. IPv4VXLANTunnelAddr string `json:"ipv4VXLANTunnelAddr,omitempty" validate:"omitempty,ipv4"` // VXLANTunnelMACAddr is the MAC address of the VXLAN tunnel. VXLANTunnelMACAddr string `json:"vxlanTunnelMACAddr,omitempty" validate:"omitempty,mac"` // IPv6VXLANTunnelAddr is the address of the IPv6 VXLAN tunnel. IPv6VXLANTunnelAddr string `json:"ipv6VXLANTunnelAddr,omitempty" validate:"omitempty,ipv6"` // VXLANTunnelMACAddrV6 is the MAC address of the IPv6 VXLAN tunnel. VXLANTunnelMACAddrV6 string `json:"vxlanTunnelMACAddrV6,omitempty" validate:"omitempty,mac"` // OrchRefs for this node. OrchRefs []OrchRef `json:"orchRefs,omitempty" validate:"omitempty"` // Wireguard configuration for this node. Wireguard *NodeWireguardSpec `json:"wireguard,omitempty" validate:"omitempty"` // Addresses list address that a client can reach the node at. Addresses []NodeAddress `json:"addresses,omitempty" validate:"omitempty"` }
NodeSpec contains the specification for a Node resource.
func (*NodeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSpec.
func (*NodeSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeStatus ¶
type NodeStatus struct { // WireguardPublicKey is the IPv4 Wireguard public-key for this node. // wireguardPublicKey validates if the string is a valid base64 encoded key. WireguardPublicKey string `json:"wireguardPublicKey,omitempty" validate:"omitempty,wireguardPublicKey"` // WireguardPublicKeyV6 is the IPv6 Wireguard public-key for this node. // wireguardPublicKey validates if the string is a valid base64 encoded key. WireguardPublicKeyV6 string `json:"wireguardPublicKeyV6,omitempty" validate:"omitempty,wireguardPublicKey"` // PodCIDR is a reflection of the Kubernetes node's spec.PodCIDRs field. PodCIDRs []string `json:"podCIDRs,omitempty" validate:"omitempty"` }
func (*NodeStatus) DeepCopy ¶
func (in *NodeStatus) DeepCopy() *NodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus.
func (*NodeStatus) DeepCopyInto ¶
func (in *NodeStatus) DeepCopyInto(out *NodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeWireguardSpec ¶
type NodeWireguardSpec struct { // InterfaceIPv4Address is the IP address for the IPv4 Wireguard interface. InterfaceIPv4Address string `json:"interfaceIPv4Address,omitempty" validate:"omitempty,ipv4"` // InterfaceIPv6Address is the IP address for the IPv6 Wireguard interface. InterfaceIPv6Address string `json:"interfaceIPv6Address,omitempty" validate:"omitempty,ipv6"` }
NodeWireguardSpec contains the specification for the Node wireguard configuration.
func (*NodeWireguardSpec) DeepCopy ¶
func (in *NodeWireguardSpec) DeepCopy() *NodeWireguardSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeWireguardSpec.
func (*NodeWireguardSpec) DeepCopyInto ¶
func (in *NodeWireguardSpec) DeepCopyInto(out *NodeWireguardSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OrchRef ¶
type OrchRef struct { // NodeName represents the name for this node according to the orchestrator. NodeName string `json:"nodeName,omitempty" validate:"omitempty"` // Orchestrator represents the orchestrator using this node. Orchestrator string `json:"orchestrator"` }
OrchRef is used to correlate a Calico node to its corresponding representation in a given orchestrator
func (*OrchRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrchRef.
func (*OrchRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadEndpoint ¶
type WorkloadEndpoint struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the WorkloadEndpoint. Spec WorkloadEndpointSpec `json:"spec,omitempty"` }
WorkloadEndpoint contains information about a WorkloadEndpoint resource that is a peer of a Calico compute node.
func NewWorkloadEndpoint ¶
func NewWorkloadEndpoint() *WorkloadEndpoint
NewWorkloadEndpoint creates a new (zeroed) WorkloadEndpoint struct with the TypeMetadata initialised to the current version.
func (*WorkloadEndpoint) DeepCopy ¶
func (in *WorkloadEndpoint) DeepCopy() *WorkloadEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadEndpoint.
func (*WorkloadEndpoint) DeepCopyInto ¶
func (in *WorkloadEndpoint) DeepCopyInto(out *WorkloadEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadEndpoint) DeepCopyObject ¶
func (in *WorkloadEndpoint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadEndpointList ¶
type WorkloadEndpointList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []WorkloadEndpoint `json:"items"` }
WorkloadEndpointList contains a list of WorkloadEndpoint resources.
func NewWorkloadEndpointList ¶
func NewWorkloadEndpointList() *WorkloadEndpointList
NewWorkloadEndpointList creates a new (zeroed) WorkloadEndpointList struct with the TypeMetadata initialised to the current version.
func (*WorkloadEndpointList) DeepCopy ¶
func (in *WorkloadEndpointList) DeepCopy() *WorkloadEndpointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadEndpointList.
func (*WorkloadEndpointList) DeepCopyInto ¶
func (in *WorkloadEndpointList) DeepCopyInto(out *WorkloadEndpointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadEndpointList) DeepCopyObject ¶
func (in *WorkloadEndpointList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadEndpointPort ¶
type WorkloadEndpointPort struct { Name string `json:"name" validate:"omitempty,portName"` Protocol numorstring.Protocol `json:"protocol"` Port uint16 `json:"port" validate:"gt=0"` HostPort uint16 `json:"hostPort"` HostIP string `json:"hostIP" validate:"omitempty,net"` }
WorkloadEndpointPort represents one endpoint's named or mapped port
func (*WorkloadEndpointPort) DeepCopy ¶
func (in *WorkloadEndpointPort) DeepCopy() *WorkloadEndpointPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadEndpointPort.
func (*WorkloadEndpointPort) DeepCopyInto ¶
func (in *WorkloadEndpointPort) DeepCopyInto(out *WorkloadEndpointPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadEndpointSpec ¶
type WorkloadEndpointSpec struct { // The name of the orchestrator. Orchestrator string `json:"orchestrator,omitempty" validate:"omitempty,name"` // The name of the workload. Workload string `json:"workload,omitempty" validate:"omitempty,name"` // The node name identifying the Calico node instance. Node string `json:"node,omitempty" validate:"omitempty,name"` // The container ID. ContainerID string `json:"containerID,omitempty" validate:"omitempty,containerID"` // The Pod name. Pod string `json:"pod,omitempty" validate:"omitempty,name"` // The Endpoint name. Endpoint string `json:"endpoint,omitempty" validate:"omitempty,name"` // ServiceAccountName, if specified, is the name of the k8s ServiceAccount for this pod. ServiceAccountName string `json:"serviceAccountName,omitempty" validate:"omitempty,name"` // IPNetworks is a list of subnets allocated to this endpoint. IP packets will only be // allowed to leave this interface if they come from an address in one of these subnets. // Currently only /32 for IPv4 and /128 for IPv6 networks are supported. IPNetworks []string `json:"ipNetworks,omitempty" validate:"omitempty,dive,net"` // IPNATs is a list of 1:1 NAT mappings to apply to the endpoint. Inbound connections // to the external IP will be forwarded to the internal IP. Connections initiated from the // internal IP will not have their source address changed, except when an endpoint attempts // to connect one of its own external IPs. Each internal IP must be associated with the same // endpoint via the configured IPNetworks. IPNATs []IPNAT `json:"ipNATs,omitempty" validate:"omitempty,dive"` // IPv4Gateway is the gateway IPv4 address for traffic from the workload. IPv4Gateway string `json:"ipv4Gateway,omitempty" validate:"omitempty,ipv4"` // IPv6Gateway is the gateway IPv6 address for traffic from the workload. IPv6Gateway string `json:"ipv6Gateway,omitempty" validate:"omitempty,ipv6"` // A list of security Profile resources that apply to this endpoint. Each profile is // applied in the order that they appear in this list. Profile rules are applied // after the selector-based security policy. Profiles []string `json:"profiles,omitempty" validate:"omitempty,dive,name"` // InterfaceName the name of the Linux interface on the host: for example, tap80. InterfaceName string `json:"interfaceName,omitempty" validate:"interface"` // MAC is the MAC address of the endpoint interface. MAC string `json:"mac,omitempty" validate:"omitempty,mac"` // Ports contains the endpoint's named ports, which may be referenced in security policy rules. Ports []WorkloadEndpointPort `json:"ports,omitempty" validate:"dive,omitempty"` // AllowSpoofedSourcePrefixes is a list of CIDRs that the endpoint should be able to send traffic from, // bypassing the RPF check. AllowSpoofedSourcePrefixes []string `json:"allowSpoofedSourcePrefixes,omitempty" validate:"omitempty,dive,cidr"` }
WorkloadEndpointMetadata contains the specification for a WorkloadEndpoint resource.
func (*WorkloadEndpointSpec) DeepCopy ¶
func (in *WorkloadEndpointSpec) DeepCopy() *WorkloadEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadEndpointSpec.
func (*WorkloadEndpointSpec) DeepCopyInto ¶
func (in *WorkloadEndpointSpec) DeepCopyInto(out *WorkloadEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.