Documentation ¶
Index ¶
Constants ¶
const ( // API group details for the Calico v3 API. Group = "projectcalico.org" VersionCurrent = "v3" GroupVersionCurrent = Group + "/" + VersionCurrent // AllNamepaces is used for client instantiation, either for when the namespace // will be specified in the resource request, or for List or Watch queries across // all namespaces. AllNamespaces = "" // AllNames is used for List or Watch queries to wildcard the name. AllNames = "" // Label used to denote the Namespace. This is added to workload endpoints and network sets by Calico // and may be used for label matches by Policy selectors. LabelNamespace = "projectcalico.org/namespace" // Label used to denote the ServiceAccount. This is added to the workload endpoints by Calico // and may be used for label matches by Policy selectors. LabelServiceAccount = "projectcalico.org/serviceaccount" // Label used to denote the Orchestrator. This is added to the workload endpoints by an // orchestrator. LabelOrchestrator = "projectcalico.org/orchestrator" // Known orchestrators. Orchestrators are not limited to this list. OrchestratorKubernetes = "k8s" OrchestratorCNI = "cni" OrchestratorDocker = "libnetwork" OrchestratorOpenStack = "openstack" // Enum options for enable/disable fields Enabled = "Enabled" Disabled = "Disabled" )
const ( KindIPAMBlock = "IPAMBlock" KindIPAMBlockList = "IPAMBlockList" )
const ( KindIPPool = "IPPool" KindIPPoolList = "IPPoolList" )
const ( VXLANModeNever VXLANMode = "Never" VXLANModeAlways = "Always" VXLANModeCrossSubnet = "CrossSubnet" )
const ( IPIPModeNever IPIPMode = "Never" IPIPModeAlways = "Always" IPIPModeCrossSubnet = "CrossSubnet" )
const ( Undefined EncapMode = "" Always = "always" CrossSubnet = "cross-subnet" )
const DefaultMode = Always
Variables ¶
var ( SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: "crd.projectcalico.org", Version: "v1"}
Functions ¶
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 EncapMode ¶ added in v0.7.0
type EncapMode string
The following definitions are only used for APIv1 backwards compatibility. They are for internal use only.
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 { CIDR string `json:"cidr"` Affinity *string `json:"affinity,omitempty"` StrictAffinity bool `json:"strictAffinity"` Allocations []*int `json:"allocations"` Unallocated []int `json:"unallocated"` Attributes []AllocationAttribute `json:"attributes"` // +optional Deleted bool `json:"deleted"` }
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 IPIPConfiguration ¶ added in v0.7.0
type IPIPConfiguration struct { // When enabled is true, ipip tunneling will be used to deliver packets to // destinations within this pool. Enabled bool `json:"enabled,omitempty"` // The IPIP mode. This can be one of "always" or "cross-subnet". A mode // of "always" will also use IPIP tunneling for routing to destination IP // addresses within this pool. A mode of "cross-subnet" will only use IPIP // tunneling when the destination node is on a different subnet to the // originating node. The default value (if not specified) is "always". Mode EncapMode `json:"mode,omitempty" validate:"ipIpMode"` }
func (*IPIPConfiguration) DeepCopy ¶ added in v0.7.0
func (in *IPIPConfiguration) DeepCopy() *IPIPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPIPConfiguration.
func (*IPIPConfiguration) DeepCopyInto ¶ added in v0.7.0
func (in *IPIPConfiguration) DeepCopyInto(out *IPIPConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPPool ¶ added in v0.7.0
type IPPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Spec IPPoolSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` }
func NewIPPool ¶ added in v0.7.0
func NewIPPool() *IPPool
NewIPPool creates a new (zeroed) IPPool struct with the TypeMetadata initialised to the current version.
func (*IPPool) DeepCopy ¶ added in v0.7.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPool.
func (*IPPool) DeepCopyInto ¶ added in v0.7.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPPool) DeepCopyObject ¶ added in v0.7.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPPoolAllowedUse ¶ added in v0.7.0
type IPPoolAllowedUse string
const ( IPPoolAllowedUseWorkload IPPoolAllowedUse = "Workload" IPPoolAllowedUseTunnel = "Tunnel" )
type IPPoolList ¶ added in v0.7.0
type IPPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items []IPPool `json:"items" protobuf:"bytes,2,rep,name=items"` }
IPPoolList contains a list of IPPool resources.
func (*IPPoolList) DeepCopy ¶ added in v0.7.0
func (in *IPPoolList) DeepCopy() *IPPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPoolList.
func (*IPPoolList) DeepCopyInto ¶ added in v0.7.0
func (in *IPPoolList) DeepCopyInto(out *IPPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPPoolList) DeepCopyObject ¶ added in v0.7.0
func (in *IPPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPPoolSpec ¶ added in v0.7.0
type IPPoolSpec struct { // The pool CIDR. CIDR string `json:"cidr" validate:"net"` // Contains configuration for VXLAN tunneling for this pool. If not specified, // then this is defaulted to "Never" (i.e. VXLAN tunneling is disabled). VXLANMode VXLANMode `json:"vxlanMode,omitempty" validate:"omitempty,vxlanMode"` // Contains configuration for IPIP tunneling for this pool. If not specified, // then this is defaulted to "Never" (i.e. IPIP tunneling is disabled). IPIPMode IPIPMode `json:"ipipMode,omitempty" validate:"omitempty,ipIpMode"` // When nat-outgoing is true, packets sent from Calico networked containers in // this pool to destinations outside of this pool will be masqueraded. NATOutgoing bool `json:"natOutgoing,omitempty"` // When disabled is true, Calico IPAM will not assign addresses from this pool. Disabled bool `json:"disabled,omitempty"` // Disable exporting routes from this IP Pool's CIDR over BGP. [Default: false] DisableBGPExport bool `json:"disableBGPExport,omitempty" validate:"omitempty"` // The block size to use for IP address assignments from this pool. Defaults to 26 for IPv4 and 122 for IPv6. BlockSize int `json:"blockSize,omitempty"` // Allows IPPool to allocate for a specific node by label selector. NodeSelector string `json:"nodeSelector,omitempty" validate:"omitempty,selector"` // Deprecated: this field is only used for APIv1 backwards compatibility. // Setting this field is not allowed, this field is for internal use only. IPIP *IPIPConfiguration `json:"ipip,omitempty" validate:"omitempty,mustBeNil"` // Deprecated: this field is only used for APIv1 backwards compatibility. // Setting this field is not allowed, this field is for internal use only. NATOutgoingV1 bool `json:"nat-outgoing,omitempty" validate:"omitempty,mustBeFalse"` // AllowedUse controls what the IP pool will be used for. If not specified or empty, defaults to // ["Tunnel", "Workload"] for back-compatibility AllowedUses []IPPoolAllowedUse `json:"allowedUses,omitempty" validate:"omitempty"` }
IPPoolSpec contains the specification for an IPPool resource.
func (*IPPoolSpec) DeepCopy ¶ added in v0.7.0
func (in *IPPoolSpec) DeepCopy() *IPPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPoolSpec.
func (*IPPoolSpec) DeepCopyInto ¶ added in v0.7.0
func (in *IPPoolSpec) DeepCopyInto(out *IPPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.