calicoapi

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
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"
)
View Source
const (
	KindIPAMBlock     = "IPAMBlock"
	KindIPAMBlockList = "IPAMBlockList"
)
View Source
const (
	KindIPPool     = "IPPool"
	KindIPPoolList = "IPPoolList"
)
View Source
const (
	VXLANModeNever       VXLANMode = "Never"
	VXLANModeAlways                = "Always"
	VXLANModeCrossSubnet           = "CrossSubnet"
)
View Source
const (
	IPIPModeNever       IPIPMode = "Never"
	IPIPModeAlways               = "Always"
	IPIPModeCrossSubnet          = "CrossSubnet"
)
View Source
const (
	Undefined   EncapMode = ""
	Always                = "always"
	CrossSubnet           = "cross-subnet"
)
View Source
const DefaultMode = Always

Variables

View Source
var (
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
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

func (in *IPAMBlock) DeepCopy() *IPAMBlock

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

func (*IPAMBlock) DeepCopyInto

func (in *IPAMBlock) DeepCopyInto(out *IPAMBlock)

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

func (*IPAMBlock) DeepCopyObject

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

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 IPIPMode added in v0.7.0

type IPIPMode string

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

func (in *IPPool) DeepCopy() *IPPool

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

func (*IPPool) DeepCopyInto added in v0.7.0

func (in *IPPool) DeepCopyInto(out *IPPool)

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

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

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.

type VXLANMode added in v0.7.0

type VXLANMode string

Jump to

Keyboard shortcuts

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