Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the meridio v1 API group +kubebuilder:object:generate=true +groupName=meridio.nordix.org
Index ¶
- Constants
- Variables
- func TransportProtocolsToStrings(proto []TransportProtocol) []string
- type Attractor
- func (in *Attractor) DeepCopy() *Attractor
- func (in *Attractor) DeepCopyInto(out *Attractor)
- func (in *Attractor) DeepCopyObject() runtime.Object
- func (r *Attractor) GroupKind() schema.GroupKind
- func (r *Attractor) GroupResource() schema.GroupResource
- func (r *Attractor) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Attractor) ValidateCreate() error
- func (r *Attractor) ValidateDelete() error
- func (r *Attractor) ValidateUpdate(old runtime.Object) error
- type AttractorList
- type AttractorSpec
- type AttractorStatus
- type BfdSpec
- type BgpAuth
- type BgpSpec
- type Conduit
- func (in *Conduit) DeepCopy() *Conduit
- func (in *Conduit) DeepCopyInto(out *Conduit)
- func (in *Conduit) DeepCopyObject() runtime.Object
- func (r *Conduit) GroupKind() schema.GroupKind
- func (r *Conduit) GroupResource() schema.GroupResource
- func (r *Conduit) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Conduit) ValidateCreate() error
- func (r *Conduit) ValidateDelete() error
- func (r *Conduit) ValidateUpdate(old runtime.Object) error
- type ConduitList
- type ConduitSpec
- type ConduitStatus
- type ConfigStatus
- type Flow
- func (in *Flow) DeepCopy() *Flow
- func (in *Flow) DeepCopyInto(out *Flow)
- func (in *Flow) DeepCopyObject() runtime.Object
- func (r *Flow) GroupKind() schema.GroupKind
- func (r *Flow) GroupResource() schema.GroupResource
- func (r *Flow) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Flow) ValidateCreate() error
- func (r *Flow) ValidateDelete() error
- func (r *Flow) ValidateUpdate(old runtime.Object) error
- type FlowList
- type FlowSpec
- type FlowStatus
- type Gateway
- func (in *Gateway) DeepCopy() *Gateway
- func (in *Gateway) DeepCopyInto(out *Gateway)
- func (in *Gateway) DeepCopyObject() runtime.Object
- func (r *Gateway) GroupKind() schema.GroupKind
- func (r *Gateway) GroupResource() schema.GroupResource
- func (r *Gateway) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Gateway) ValidateCreate() error
- func (r *Gateway) ValidateDelete() error
- func (r *Gateway) ValidateUpdate(old runtime.Object) error
- type GatewayList
- type GatewaySpec
- type GatewayStatus
- type IPFamily
- type InterfaceSpec
- type InterfaceType
- type NSMVlanSpec
- type NetworkAttachmentSpec
- type NetworkServiceType
- type PortNatSpec
- type Ports
- type Protocol
- type StaticSpec
- type Stream
- func (in *Stream) DeepCopy() *Stream
- func (in *Stream) DeepCopyInto(out *Stream)
- func (in *Stream) DeepCopyObject() runtime.Object
- func (r *Stream) GroupKind() schema.GroupKind
- func (r *Stream) GroupResource() schema.GroupResource
- func (r *Stream) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Stream) ValidateCreate() error
- func (r *Stream) ValidateDelete() error
- func (r *Stream) ValidateUpdate(old runtime.Object) error
- type StreamList
- type StreamSpec
- type StreamStatus
- type TransportProtocol
- type Trench
- func (in *Trench) DeepCopy() *Trench
- func (in *Trench) DeepCopyInto(out *Trench)
- func (in *Trench) DeepCopyObject() runtime.Object
- func (r *Trench) GroupKind() schema.GroupKind
- func (r *Trench) GroupResource() schema.GroupResource
- func (r *Trench) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Trench) ValidateCreate() error
- func (r *Trench) ValidateDelete() error
- func (r *Trench) ValidateUpdate(old runtime.Object) error
- type TrenchList
- type TrenchSpec
- type TrenchStatus
- type Vip
- func (in *Vip) DeepCopy() *Vip
- func (in *Vip) DeepCopyInto(out *Vip)
- func (in *Vip) DeepCopyObject() runtime.Object
- func (r *Vip) GroupKind() schema.GroupKind
- func (r *Vip) GroupResource() schema.GroupResource
- func (r *Vip) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Vip) ValidateCreate() error
- func (r *Vip) ValidateDelete() error
- func (r *Vip) ValidateUpdate(old runtime.Object) error
- type VipList
- type VipSpec
- type VipStatus
Constants ¶
const ( NSMVlan = "nsm-vlan" NAD = "network-attachment" )
const (
StatelessLB = "stateless-lb"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "meridio.nordix.org", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func TransportProtocolsToStrings ¶
func TransportProtocolsToStrings(proto []TransportProtocol) []string
Types ¶
type Attractor ¶
type Attractor struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AttractorSpec `json:"spec,omitempty"` Status AttractorStatus `json:"status,omitempty"` }
Attractor is the Schema for the attractors API. It defines how traffic are attracted and lead into the K8s cluster. This includes which external interface to consume. The Attractor is instantiated as a set of pods running frontend functionality.
func (*Attractor) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Attractor.
func (*Attractor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Attractor) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Attractor) GroupResource ¶
func (r *Attractor) GroupResource() schema.GroupResource
func (*Attractor) SetupWebhookWithManager ¶
func (*Attractor) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Attractor) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type AttractorList ¶
type AttractorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Attractor `json:"items"` }
AttractorList contains a list of Attractor
func (*AttractorList) DeepCopy ¶
func (in *AttractorList) DeepCopy() *AttractorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttractorList.
func (*AttractorList) DeepCopyInto ¶
func (in *AttractorList) DeepCopyInto(out *AttractorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AttractorList) DeepCopyObject ¶
func (in *AttractorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AttractorSpec ¶
type AttractorSpec struct { // The number of front-end pods. (The load-balancer is bundled with front-end currently) // +optional Replicas *int32 `json:"replicas,omitempty"` // Reference to the composite conduits Composites []string `json:"composites"` // gateways that attractor expect to use // +optional Gateways []string `json:"gateways,omitempty"` // vips that attractor will announce to the gateways when possible // +optional Vips []string `json:"vips,omitempty"` // defines the interface information that attractor use Interface InterfaceSpec `json:"interface"` }
AttractorSpec defines the desired state of Attractor
func (*AttractorSpec) DeepCopy ¶
func (in *AttractorSpec) DeepCopy() *AttractorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttractorSpec.
func (*AttractorSpec) DeepCopyInto ¶
func (in *AttractorSpec) DeepCopyInto(out *AttractorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AttractorStatus ¶
type AttractorStatus struct { }
AttractorStatus defines the observed state of Attractor
func (*AttractorStatus) DeepCopy ¶
func (in *AttractorStatus) DeepCopy() *AttractorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttractorStatus.
func (*AttractorStatus) DeepCopyInto ¶
func (in *AttractorStatus) DeepCopyInto(out *AttractorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BfdSpec ¶
type BfdSpec struct { // BFD monitoring. // Valid values are: // - false: no BFD monitoring; // - true: turns on the BFD monitoring. // When left empty, there is no BFD monitoring. // +optional Switch *bool `json:"switch,omitempty"` // Min-tx timer of bfd session. Please refere to BFD material to understand what this implies. // The value must be a valid duration format. For example, 300ms, 90s, 1m, 1h. // The duration will be rounded by millisecond. // +optional MinTx string `json:"min-tx,omitempty"` // Min-rx timer of bfd session. Please refere to BFD material to understand what this implies. // The value must be a valid duration format. For example, 300ms, 90s, 1m, 1h. // The duration will be rounded by millisecond. // +optional MinRx string `json:"min-rx,omitempty"` // Multiplier of bfd session. // When this number of bfd packets failed to receive, bfd session will go down. // +optional Multiplier *uint16 `json:"multiplier,omitempty"` }
Bfd defines the parameters to configure the BFD session The static gateways shares the same interface shall define the same bfd configuration
func (*BfdSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BfdSpec.
func (*BfdSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BgpAuth ¶
type BgpAuth struct { // Name of the BGP authentication key, used internally as a reference. // KeyName is a key in the data section of a Secret. The associated value in // the Secret is the password (pre-shared key) to be used for authentication. // Must consist of alphanumeric characters, ".", "-" or "_". KeyName string `json:"key-name,omitempty"` // Name of the kubernetes Secret containing the password (pre-shared key) // that can be looked up based on KeyName. // Must be a valid lowercase RFC 1123 subdomain. (Must consist of lower case alphanumeric // characters, '-' or '.', and must start and end with an alphanumeric character.) KeySource string `json:"key-source,omitempty"` }
BgpAuth defines the parameters to configure BGP authentication
func (*BgpAuth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BgpAuth.
func (*BgpAuth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BgpSpec ¶
type BgpSpec struct { // The ASN number of the Gateway Router RemoteASN *uint32 `json:"remote-asn,omitempty"` // The ASN number of the system where the Attractor FrontEnds locates LocalASN *uint32 `json:"local-asn,omitempty"` // BFD monitoring of BGP session. // +optional BFD BfdSpec `json:"bfd,omitempty"` // Hold timer of the BGP session. Please refere to BGP material to understand what this implies. // The value must be a valid duration format. For example, 90s, 1m, 1h. // The duration will be rounded by second // Minimum duration is 3s. // +optional HoldTime string `json:"hold-time,omitempty"` // BGP listening port of the Gateway Router. // +optional RemotePort *uint16 `json:"remote-port,omitempty"` // BGP listening port of the Attractor FrontEnds. // +optional LocalPort *uint16 `json:"local-port,omitempty"` // BGP authentication (RFC2385). // +optional Auth *BgpAuth `json:"auth,omitempty"` }
BgpSpec defines the parameters to set up a BGP session
func (*BgpSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BgpSpec.
func (*BgpSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Conduit ¶
type Conduit struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ConduitSpec `json:"spec,omitempty"` Status ConduitStatus `json:"status,omitempty"` }
Conduit is the Schema for the conduits API. It defines a logical/physical traffic-path through the k8s cluster for processing traffic streams
func (*Conduit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Conduit.
func (*Conduit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Conduit) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Conduit) GroupResource ¶
func (r *Conduit) GroupResource() schema.GroupResource
func (*Conduit) SetupWebhookWithManager ¶
func (*Conduit) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Conduit) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type ConduitList ¶
type ConduitList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Conduit `json:"items"` }
ConduitList contains a list of Conduit
func (*ConduitList) DeepCopy ¶
func (in *ConduitList) DeepCopy() *ConduitList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConduitList.
func (*ConduitList) DeepCopyInto ¶
func (in *ConduitList) DeepCopyInto(out *ConduitList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConduitList) DeepCopyObject ¶
func (in *ConduitList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConduitSpec ¶
type ConduitSpec struct { // +kubebuilder:default=stateless-lb // +kubebuilder:validation:Enum=stateless-lb // Type is the type of network service for this conduit Type string `json:"type"` // List of destination ports to NAT. DestinationPortNats []PortNatSpec `json:"destination-port-nats,omitempty"` }
ConduitSpec defines the desired state of Conduit
func (*ConduitSpec) DeepCopy ¶
func (in *ConduitSpec) DeepCopy() *ConduitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConduitSpec.
func (*ConduitSpec) DeepCopyInto ¶
func (in *ConduitSpec) DeepCopyInto(out *ConduitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConduitStatus ¶
type ConduitStatus struct { }
ConduitStatus defines the observed state of Conduit
func (*ConduitStatus) DeepCopy ¶
func (in *ConduitStatus) DeepCopy() *ConduitStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConduitStatus.
func (*ConduitStatus) DeepCopyInto ¶
func (in *ConduitStatus) DeepCopyInto(out *ConduitStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigStatus ¶
type ConfigStatus string
ConfigStatus describes the status of a meridio operator resource to indicate if the resource is ready to use or not
const ( // Normally when a resouce is not processed by the corresponding controller, the status will be NoStatus NoPhase ConfigStatus = "" // If the validation of a resource does not pass in the controller, the status will be Error Error ConfigStatus = "error" // Normally when a resource is not created in a correct sequence, the status will be Disengaged Disengaged ConfigStatus = "disengaged" // Engaged indicates the resouce is readly to be used. Engaged ConfigStatus = "engaged" )
type Flow ¶
type Flow struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FlowSpec `json:"spec,omitempty"` Status FlowStatus `json:"status,omitempty"` }
Flow is the Schema for the flows API. It defines how ingress traffic flows are classified and collected into streams
func (*Flow) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flow.
func (*Flow) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Flow) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Flow) GroupResource ¶
func (r *Flow) GroupResource() schema.GroupResource
func (*Flow) SetupWebhookWithManager ¶
func (*Flow) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Flow) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type FlowList ¶
type FlowList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Flow `json:"items"` }
FlowList contains a list of Flow
func (*FlowList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowList.
func (*FlowList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlowList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FlowSpec ¶
type FlowSpec struct { // Stream that is to include traffic classified by this flow // +optional Stream string `json:"stream,omitempty"` // Vips that this flow will send traffic to. // The vips should not have overlaps. Vips []string `json:"vips"` // Source subnets allowed in the flow. // The subnets should not have overlaps. SourceSubnets []string `json:"source-subnets,omitempty"` // Source port ranges allowed in the flow. // The ports should not have overlaps. // Ports can be defined by: // - a single port, such as 3000; // - a port range, such as 3000-4000; // - "any", which is equivalent to port range 0-65535. SourcePorts []string `json:"source-ports,omitempty"` // Destination port ranges allowed in the flow. // The ports should not have overlaps. // Ports can be defined by: // - a single port, such as 3000; // - a port range, such as 3000-4000; // - "any", which is equivalent to port range 0-65535. DestinationPorts []string `json:"destination-ports,omitempty"` // Protocols allowed in this flow. // The protocols should not have overlaps. Protocols []TransportProtocol `json:"protocols"` // Priority of the flow Priority int32 `json:"priority"` // ByteMatches matches bytes in the L4 header in the flow. // +optional ByteMatches []string `json:"byte-matches,omitempty"` }
FlowSpec defines the desired state of Flow
func (*FlowSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowSpec.
func (*FlowSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlowStatus ¶
type FlowStatus struct { }
FlowStatus defines the observed state of Flow
func (*FlowStatus) DeepCopy ¶
func (in *FlowStatus) DeepCopy() *FlowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowStatus.
func (*FlowStatus) DeepCopyInto ¶
func (in *FlowStatus) DeepCopyInto(out *FlowStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Gateway ¶
type Gateway struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GatewaySpec `json:"spec,omitempty"` Status GatewayStatus `json:"status,omitempty"` }
Gateway is the Schema for the gateways API. It defines protocol settings enabling communication with Gateway Router through which traffic is to be conveyed.
func (*Gateway) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway.
func (*Gateway) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Gateway) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Gateway) GroupResource ¶
func (r *Gateway) GroupResource() schema.GroupResource
func (*Gateway) SetupWebhookWithManager ¶
func (*Gateway) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Gateway) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type GatewayList ¶
type GatewayList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Gateway `json:"items"` }
GatewayList contains a list of Gateway
func (*GatewayList) DeepCopy ¶
func (in *GatewayList) DeepCopy() *GatewayList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayList.
func (*GatewayList) DeepCopyInto ¶
func (in *GatewayList) DeepCopyInto(out *GatewayList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GatewayList) DeepCopyObject ¶
func (in *GatewayList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GatewaySpec ¶
type GatewaySpec struct { // Address of the Gateway Router Address string `json:"address"` // The routing choice between the Gateway Router and Attractor FrontEnds. // +optional Protocol string `json:"protocol,omitempty"` // Parameters to set up the BGP session to specified Address. // If the Protocol is static, this property must be empty. // If the Protocol is bgp, the minimal parameters to be defined in bgp properties // are RemoteASN and LocalASN // +optional Bgp BgpSpec `json:"bgp,omitempty"` // Parameters to work with the static routing configured on the Gateway Router with specified Address. // If the Protocol is bgp, this property must be empty. // +optional Static StaticSpec `json:"static,omitempty"` }
GatewaySpec defines the desired state of Gateway
func (*GatewaySpec) DeepCopy ¶
func (in *GatewaySpec) DeepCopy() *GatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaySpec.
func (*GatewaySpec) DeepCopyInto ¶
func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewayStatus ¶
type GatewayStatus struct { }
GatewayStatus defines the observed state of Gateway
func (*GatewayStatus) DeepCopy ¶
func (in *GatewayStatus) DeepCopy() *GatewayStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayStatus.
func (*GatewayStatus) DeepCopyInto ¶
func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPFamily ¶
type IPFamily string
IPFamily describes the traffic type in the trench Only one of the following ip family can be specified. If the traffic is IPv4 only, use IPv4, similarly, use IPv6 if the traffic is IPv6 only, otherwise, use dualstack which handles both IPv4 and IPv6 traffic.
type InterfaceSpec ¶
type InterfaceSpec struct { // Name of the interface. // Must be a valid Linux kernel interface name. // +kubebuilder:validation:Pattern=`^[^:\//\s]{1,13}$` Name string `json:"name"` // (immutable) IPv4 prefix of the interface, which is used for frontend to set up communication with the ipv4 gateways. // If the type is "nsm-vlan", this information must be specified. PrefixIPv4 string `json:"ipv4-prefix,omitempty"` // (immutable) IPv6 prefix of the interface, which is used for frontend to set up communication with the ipv6 gateways. // If the type is "nsm-vlan", this information must be specified. PrefixIPv6 string `json:"ipv6-prefix,omitempty"` // Interface choice. // +kubebuilder:default=nsm-vlan // +kubebuilder:validation:Enum=nsm-vlan;network-attachment Type string `json:"type,omitempty"` // If the type is "nsm-vlan", this information must be specified. NSMVlan NSMVlanSpec `json:"nsm-vlan,omitempty"` // If the type is "network-attachment", this information must be specified. // One NetworkAttachmentSpec allowed currently. NetworkAttachments []*NetworkAttachmentSpec `json:"network-attachments,omitempty"` }
func (*InterfaceSpec) DeepCopy ¶
func (in *InterfaceSpec) DeepCopy() *InterfaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceSpec.
func (*InterfaceSpec) DeepCopyInto ¶
func (in *InterfaceSpec) DeepCopyInto(out *InterfaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceType ¶
type InterfaceType string
type NSMVlanSpec ¶
type NSMVlanSpec struct { // (immutable) master interface of the vlan interface to be used for external connectivity BaseInterface string `json:"base-interface,omitempty"` // (immutable) vlan ID of the vlan interface to be used for external connectivity VlanID *int32 `json:"vlan-id,omitempty"` }
func (*NSMVlanSpec) DeepCopy ¶
func (in *NSMVlanSpec) DeepCopy() *NSMVlanSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NSMVlanSpec.
func (*NSMVlanSpec) DeepCopyInto ¶
func (in *NSMVlanSpec) DeepCopyInto(out *NSMVlanSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkAttachmentSpec ¶
type NetworkAttachmentSpec struct { // Name of the Network Attachment Definition. // Must be a valid lowercase RFC 1123 subdomain. Name string `json:"name,omitempty"` // Kubernetes namespace where the Network Attachment Definition is defined. // Must be a valid lowercase RFC 1123 label. Its default value is "default". // +optional Namespace string `json:"namespace,omitempty"` // Name to be used as the given name for the POD interface. // Must be a valid Linux kernel interface name. // +optional InterfaceRequest string `json:"interface,omitempty"` }
NetworkAttachmentSpec identifies a Network Attachment Definition intended to setup an interface. It is a subset of NetworkSelectionElement: https://pkg.go.dev/github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/apis/k8s.cni.cncf.io/v1#NetworkSelectionElement
func (*NetworkAttachmentSpec) DeepCopy ¶
func (in *NetworkAttachmentSpec) DeepCopy() *NetworkAttachmentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkAttachmentSpec.
func (*NetworkAttachmentSpec) DeepCopyInto ¶
func (in *NetworkAttachmentSpec) DeepCopyInto(out *NetworkAttachmentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkServiceType ¶
type NetworkServiceType string
type PortNatSpec ¶
type PortNatSpec struct { // Destination Port exposed by the service (exposed in flows). // Traffic containing this property will be NATted. Port uint16 `json:"port"` // TargetPort represent the port the traffic will be NATted to. // Targets will receive traffic on that port. TargetPort uint16 `json:"target-port"` // VIPs exposed by the service (exposed in flows). // Traffic containing this property will be NATted. Vips []string `json:"vips"` // Protocol exposed by the service (exposed in flows). // Traffic containing this property will be NATted. Protocol TransportProtocol `json:"protocol"` }
PortNatSpec defines the parameters to set up a destination port natting in the conduit
func (*PortNatSpec) DeepCopy ¶
func (in *PortNatSpec) DeepCopy() *PortNatSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortNatSpec.
func (*PortNatSpec) DeepCopyInto ¶
func (in *PortNatSpec) DeepCopyInto(out *PortNatSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Ports ¶
func NewPortFromString ¶
func (*Ports) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ports.
func (*Ports) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StaticSpec ¶
type StaticSpec struct { // BFD monitoring of Static session. // +optional BFD BfdSpec `json:"bfd,omitempty"` }
StaticSpec defines the parameters to set up static routes
func (*StaticSpec) DeepCopy ¶
func (in *StaticSpec) DeepCopy() *StaticSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticSpec.
func (*StaticSpec) DeepCopyInto ¶
func (in *StaticSpec) DeepCopyInto(out *StaticSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Stream ¶
type Stream struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec StreamSpec `json:"spec,omitempty"` Status StreamStatus `json:"status,omitempty"` }
Stream is the Schema for the streams API. It refers a group of Flows processed through the same Conduit before consumed by the user application.
func (*Stream) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stream.
func (*Stream) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Stream) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Stream) GroupResource ¶
func (r *Stream) GroupResource() schema.GroupResource
func (*Stream) SetupWebhookWithManager ¶
func (*Stream) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Stream) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type StreamList ¶
type StreamList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Stream `json:"items"` }
StreamList contains a list of Stream
func (*StreamList) DeepCopy ¶
func (in *StreamList) DeepCopy() *StreamList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamList.
func (*StreamList) DeepCopyInto ¶
func (in *StreamList) DeepCopyInto(out *StreamList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StreamList) DeepCopyObject ¶
func (in *StreamList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StreamSpec ¶
type StreamSpec struct { // The conduit that is to convey traffic included in this Stream // +optional Conduit string `json:"conduit,omitempty"` // Max number of targets the stream supports // +optional MaxTargets *uint32 `json:"max-targets,omitempty"` }
StreamSpec defines the desired state of Stream
func (*StreamSpec) DeepCopy ¶
func (in *StreamSpec) DeepCopy() *StreamSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamSpec.
func (*StreamSpec) DeepCopyInto ¶
func (in *StreamSpec) DeepCopyInto(out *StreamSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StreamStatus ¶
type StreamStatus struct { }
StreamStatus defines the observed state of Stream
func (*StreamStatus) DeepCopy ¶
func (in *StreamStatus) DeepCopy() *StreamStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamStatus.
func (*StreamStatus) DeepCopyInto ¶
func (in *StreamStatus) DeepCopyInto(out *StreamStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransportProtocol ¶
type TransportProtocol string
+kubebuilder:validation:Enum=tcp;udp;sctp
const ( TCP TransportProtocol = "tcp" UDP TransportProtocol = "udp" SCTP TransportProtocol = "sctp" )
type Trench ¶
type Trench struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TrenchSpec `json:"spec,omitempty"` Status TrenchStatus `json:"status,omitempty"` }
Trench is the Schema for the trenches API. It defines the extension of an external VPN into the K8s cluster scope. All other Merido CRs are related to a trench
func (*Trench) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Trench.
func (*Trench) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Trench) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Trench) GroupResource ¶
func (r *Trench) GroupResource() schema.GroupResource
func (*Trench) SetupWebhookWithManager ¶
func (*Trench) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Trench) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type TrenchList ¶
type TrenchList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Trench `json:"items"` }
TrenchList contains a list of Trench
func (*TrenchList) DeepCopy ¶
func (in *TrenchList) DeepCopy() *TrenchList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrenchList.
func (*TrenchList) DeepCopyInto ¶
func (in *TrenchList) DeepCopyInto(out *TrenchList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TrenchList) DeepCopyObject ¶
func (in *TrenchList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TrenchSpec ¶
type TrenchSpec struct { // +kubebuilder:default=dualstack // +kubebuilder:validation:Enum=dualstack;ipv4;ipv6 // Defines the IP family of the trench. It should be set according to what type of traffic is expected in the trench. // Valid values: dualstack (default), ipv4, ipv6 IPFamily string `json:"ip-family"` }
TrenchSpec defines the desired state of Trench
func (*TrenchSpec) DeepCopy ¶
func (in *TrenchSpec) DeepCopy() *TrenchSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrenchSpec.
func (*TrenchSpec) DeepCopyInto ¶
func (in *TrenchSpec) DeepCopyInto(out *TrenchSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrenchStatus ¶
type TrenchStatus struct { }
TrenchStatus defines the observed state of Trench
func (*TrenchStatus) DeepCopy ¶
func (in *TrenchStatus) DeepCopy() *TrenchStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrenchStatus.
func (*TrenchStatus) DeepCopyInto ¶
func (in *TrenchStatus) DeepCopyInto(out *TrenchStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Vip ¶
type Vip struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VipSpec `json:"spec,omitempty"` Status VipStatus `json:"status,omitempty"` }
Vip is the Schema for the vips API. It defines a Vip to be used as destination for ingress traffic to facilitate load-balancing. For egress traffic the Vip is used as source to avoid Direct Server Return.
func (*Vip) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Vip.
func (*Vip) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Vip) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Vip) GroupResource ¶
func (r *Vip) GroupResource() schema.GroupResource
func (*Vip) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Vip) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type VipList ¶
type VipList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Vip `json:"items"` }
VipList contains a list of Vip
func (*VipList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VipList.
func (*VipList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VipList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VipSpec ¶
type VipSpec struct { // vip address. Both ipv4 and ipv6 addresses are supported. Vip address must // be a valid network prefix. // +optional Address string `json:"address,omitempty"` }
VipSpec defines the desired state of Vip
func (*VipSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VipSpec.
func (*VipSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VipStatus ¶
type VipStatus struct { }
VipStatus defines the observed state of Vip
func (*VipStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VipStatus.
func (*VipStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.