Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the network v1 API group +k8s:deepcopy-gen=package,register +groupName=network.operator.openshift.io +kubebuilder:validation:Optional
Index ¶
- Variables
- type ConditionStatus
- type EgressRouter
- func (in *EgressRouter) DeepCopy() *EgressRouter
- func (in *EgressRouter) DeepCopyInto(out *EgressRouter)
- func (in *EgressRouter) DeepCopyObject() runtime.Object
- func (*EgressRouter) Descriptor() ([]byte, []int)
- func (m *EgressRouter) Marshal() (dAtA []byte, err error)
- func (m *EgressRouter) MarshalTo(dAtA []byte) (int, error)
- func (m *EgressRouter) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EgressRouter) ProtoMessage()
- func (m *EgressRouter) Reset()
- func (m *EgressRouter) Size() (n int)
- func (this *EgressRouter) String() string
- func (EgressRouter) SwaggerDoc() map[string]string
- func (m *EgressRouter) Unmarshal(dAtA []byte) error
- func (m *EgressRouter) XXX_DiscardUnknown()
- func (m *EgressRouter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EgressRouter) XXX_Merge(src proto.Message)
- func (m *EgressRouter) XXX_Size() int
- func (m *EgressRouter) XXX_Unmarshal(b []byte) error
- type EgressRouterAddress
- func (in *EgressRouterAddress) DeepCopy() *EgressRouterAddress
- func (in *EgressRouterAddress) DeepCopyInto(out *EgressRouterAddress)
- func (*EgressRouterAddress) Descriptor() ([]byte, []int)
- func (m *EgressRouterAddress) Marshal() (dAtA []byte, err error)
- func (m *EgressRouterAddress) MarshalTo(dAtA []byte) (int, error)
- func (m *EgressRouterAddress) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EgressRouterAddress) ProtoMessage()
- func (m *EgressRouterAddress) Reset()
- func (m *EgressRouterAddress) Size() (n int)
- func (this *EgressRouterAddress) String() string
- func (EgressRouterAddress) SwaggerDoc() map[string]string
- func (m *EgressRouterAddress) Unmarshal(dAtA []byte) error
- func (m *EgressRouterAddress) XXX_DiscardUnknown()
- func (m *EgressRouterAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EgressRouterAddress) XXX_Merge(src proto.Message)
- func (m *EgressRouterAddress) XXX_Size() int
- func (m *EgressRouterAddress) XXX_Unmarshal(b []byte) error
- type EgressRouterInterface
- func (in *EgressRouterInterface) DeepCopy() *EgressRouterInterface
- func (in *EgressRouterInterface) DeepCopyInto(out *EgressRouterInterface)
- func (*EgressRouterInterface) Descriptor() ([]byte, []int)
- func (m *EgressRouterInterface) Marshal() (dAtA []byte, err error)
- func (m *EgressRouterInterface) MarshalTo(dAtA []byte) (int, error)
- func (m *EgressRouterInterface) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EgressRouterInterface) ProtoMessage()
- func (m *EgressRouterInterface) Reset()
- func (m *EgressRouterInterface) Size() (n int)
- func (this *EgressRouterInterface) String() string
- func (EgressRouterInterface) SwaggerDoc() map[string]string
- func (m *EgressRouterInterface) Unmarshal(dAtA []byte) error
- func (m *EgressRouterInterface) XXX_DiscardUnknown()
- func (m *EgressRouterInterface) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EgressRouterInterface) XXX_Merge(src proto.Message)
- func (m *EgressRouterInterface) XXX_Size() int
- func (m *EgressRouterInterface) XXX_Unmarshal(b []byte) error
- type EgressRouterList
- func (in *EgressRouterList) DeepCopy() *EgressRouterList
- func (in *EgressRouterList) DeepCopyInto(out *EgressRouterList)
- func (in *EgressRouterList) DeepCopyObject() runtime.Object
- func (*EgressRouterList) Descriptor() ([]byte, []int)
- func (m *EgressRouterList) Marshal() (dAtA []byte, err error)
- func (m *EgressRouterList) MarshalTo(dAtA []byte) (int, error)
- func (m *EgressRouterList) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EgressRouterList) ProtoMessage()
- func (m *EgressRouterList) Reset()
- func (m *EgressRouterList) Size() (n int)
- func (this *EgressRouterList) String() string
- func (EgressRouterList) SwaggerDoc() map[string]string
- func (m *EgressRouterList) Unmarshal(dAtA []byte) error
- func (m *EgressRouterList) XXX_DiscardUnknown()
- func (m *EgressRouterList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EgressRouterList) XXX_Merge(src proto.Message)
- func (m *EgressRouterList) XXX_Size() int
- func (m *EgressRouterList) XXX_Unmarshal(b []byte) error
- type EgressRouterMode
- type EgressRouterSpec
- func (in *EgressRouterSpec) DeepCopy() *EgressRouterSpec
- func (in *EgressRouterSpec) DeepCopyInto(out *EgressRouterSpec)
- func (*EgressRouterSpec) Descriptor() ([]byte, []int)
- func (m *EgressRouterSpec) Marshal() (dAtA []byte, err error)
- func (m *EgressRouterSpec) MarshalTo(dAtA []byte) (int, error)
- func (m *EgressRouterSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EgressRouterSpec) ProtoMessage()
- func (m *EgressRouterSpec) Reset()
- func (m *EgressRouterSpec) Size() (n int)
- func (this *EgressRouterSpec) String() string
- func (EgressRouterSpec) SwaggerDoc() map[string]string
- func (m *EgressRouterSpec) Unmarshal(dAtA []byte) error
- func (m *EgressRouterSpec) XXX_DiscardUnknown()
- func (m *EgressRouterSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EgressRouterSpec) XXX_Merge(src proto.Message)
- func (m *EgressRouterSpec) XXX_Size() int
- func (m *EgressRouterSpec) XXX_Unmarshal(b []byte) error
- type EgressRouterStatus
- func (in *EgressRouterStatus) DeepCopy() *EgressRouterStatus
- func (in *EgressRouterStatus) DeepCopyInto(out *EgressRouterStatus)
- func (*EgressRouterStatus) Descriptor() ([]byte, []int)
- func (m *EgressRouterStatus) Marshal() (dAtA []byte, err error)
- func (m *EgressRouterStatus) MarshalTo(dAtA []byte) (int, error)
- func (m *EgressRouterStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EgressRouterStatus) ProtoMessage()
- func (m *EgressRouterStatus) Reset()
- func (m *EgressRouterStatus) Size() (n int)
- func (this *EgressRouterStatus) String() string
- func (EgressRouterStatus) SwaggerDoc() map[string]string
- func (m *EgressRouterStatus) Unmarshal(dAtA []byte) error
- func (m *EgressRouterStatus) XXX_DiscardUnknown()
- func (m *EgressRouterStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EgressRouterStatus) XXX_Merge(src proto.Message)
- func (m *EgressRouterStatus) XXX_Size() int
- func (m *EgressRouterStatus) XXX_Unmarshal(b []byte) error
- type EgressRouterStatusCondition
- func (in *EgressRouterStatusCondition) DeepCopy() *EgressRouterStatusCondition
- func (in *EgressRouterStatusCondition) DeepCopyInto(out *EgressRouterStatusCondition)
- func (*EgressRouterStatusCondition) Descriptor() ([]byte, []int)
- func (m *EgressRouterStatusCondition) Marshal() (dAtA []byte, err error)
- func (m *EgressRouterStatusCondition) MarshalTo(dAtA []byte) (int, error)
- func (m *EgressRouterStatusCondition) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EgressRouterStatusCondition) ProtoMessage()
- func (m *EgressRouterStatusCondition) Reset()
- func (m *EgressRouterStatusCondition) Size() (n int)
- func (this *EgressRouterStatusCondition) String() string
- func (EgressRouterStatusCondition) SwaggerDoc() map[string]string
- func (m *EgressRouterStatusCondition) Unmarshal(dAtA []byte) error
- func (m *EgressRouterStatusCondition) XXX_DiscardUnknown()
- func (m *EgressRouterStatusCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EgressRouterStatusCondition) XXX_Merge(src proto.Message)
- func (m *EgressRouterStatusCondition) XXX_Size() int
- func (m *EgressRouterStatusCondition) XXX_Unmarshal(b []byte) error
- type EgressRouterStatusConditionType
- type L4RedirectRule
- func (in *L4RedirectRule) DeepCopy() *L4RedirectRule
- func (in *L4RedirectRule) DeepCopyInto(out *L4RedirectRule)
- func (*L4RedirectRule) Descriptor() ([]byte, []int)
- func (m *L4RedirectRule) Marshal() (dAtA []byte, err error)
- func (m *L4RedirectRule) MarshalTo(dAtA []byte) (int, error)
- func (m *L4RedirectRule) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*L4RedirectRule) ProtoMessage()
- func (m *L4RedirectRule) Reset()
- func (m *L4RedirectRule) Size() (n int)
- func (this *L4RedirectRule) String() string
- func (L4RedirectRule) SwaggerDoc() map[string]string
- func (m *L4RedirectRule) Unmarshal(dAtA []byte) error
- func (m *L4RedirectRule) XXX_DiscardUnknown()
- func (m *L4RedirectRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *L4RedirectRule) XXX_Merge(src proto.Message)
- func (m *L4RedirectRule) XXX_Size() int
- func (m *L4RedirectRule) XXX_Unmarshal(b []byte) error
- type MacvlanConfig
- func (in *MacvlanConfig) DeepCopy() *MacvlanConfig
- func (in *MacvlanConfig) DeepCopyInto(out *MacvlanConfig)
- func (*MacvlanConfig) Descriptor() ([]byte, []int)
- func (m *MacvlanConfig) Marshal() (dAtA []byte, err error)
- func (m *MacvlanConfig) MarshalTo(dAtA []byte) (int, error)
- func (m *MacvlanConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*MacvlanConfig) ProtoMessage()
- func (m *MacvlanConfig) Reset()
- func (m *MacvlanConfig) Size() (n int)
- func (this *MacvlanConfig) String() string
- func (MacvlanConfig) SwaggerDoc() map[string]string
- func (m *MacvlanConfig) Unmarshal(dAtA []byte) error
- func (m *MacvlanConfig) XXX_DiscardUnknown()
- func (m *MacvlanConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *MacvlanConfig) XXX_Merge(src proto.Message)
- func (m *MacvlanConfig) XXX_Size() int
- func (m *MacvlanConfig) XXX_Unmarshal(b []byte) error
- type MacvlanMode
- type ProtocolType
- type RedirectConfig
- func (in *RedirectConfig) DeepCopy() *RedirectConfig
- func (in *RedirectConfig) DeepCopyInto(out *RedirectConfig)
- func (*RedirectConfig) Descriptor() ([]byte, []int)
- func (m *RedirectConfig) Marshal() (dAtA []byte, err error)
- func (m *RedirectConfig) MarshalTo(dAtA []byte) (int, error)
- func (m *RedirectConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RedirectConfig) ProtoMessage()
- func (m *RedirectConfig) Reset()
- func (m *RedirectConfig) Size() (n int)
- func (this *RedirectConfig) String() string
- func (RedirectConfig) SwaggerDoc() map[string]string
- func (m *RedirectConfig) Unmarshal(dAtA []byte) error
- func (m *RedirectConfig) XXX_DiscardUnknown()
- func (m *RedirectConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RedirectConfig) XXX_Merge(src proto.Message)
- func (m *RedirectConfig) XXX_Size() int
- func (m *RedirectConfig) XXX_Unmarshal(b []byte) error
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupGenerated = fmt.Errorf("proto: unexpected end of group") )
var ( GroupName = "network.operator.openshift.io" GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} // Install is a function which adds this version to a scheme Install = schemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ConditionStatus ¶
type ConditionStatus string
ConditionStatus defines the status of each of EgressRouterStatusConditionType.
const ( ConditionTrue ConditionStatus = "True" ConditionFalse ConditionStatus = "False" ConditionUnknown ConditionStatus = "Unknown" )
These are valid condition statuses. "ConditionTrue" means a resource is in the condition. "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes can't decide if a resource is in the condition or not. In the future, we could add other intermediate conditions, e.g. ConditionDegraded.
type EgressRouter ¶
type EgressRouter struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Specification of the desired egress router. // +kubebuilder:validation:Required Spec EgressRouterSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` // Observed status of EgressRouter. Status EgressRouterStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
EgressRouter is a feature allowing the user to define an egress router that acts as a bridge between pods and external systems. The egress router runs a service that redirects egress traffic originating from a pod or a group of pods to a remote external system or multiple destinations as per configuration.
It is consumed by the cluster-network-operator. More specifically, given an EgressRouter CR with <name>, the CNO will create and manage: - A service called <name> - An egress pod called <name> - A NAD called <name>
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
EgressRouter is a single egressrouter pod configuration object. +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=egressrouters,scope=Namespaced +kubebuilder:printcolumn:name="Condition",type=string,JSONPath=".status.conditions[*].type" +kubebuilder:printcolumn:name="Status",type=string,JSONPath=".status.conditions[*].status" +openshift:compatibility-gen:level=1
func (*EgressRouter) DeepCopy ¶
func (in *EgressRouter) DeepCopy() *EgressRouter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRouter.
func (*EgressRouter) DeepCopyInto ¶
func (in *EgressRouter) DeepCopyInto(out *EgressRouter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressRouter) DeepCopyObject ¶
func (in *EgressRouter) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EgressRouter) Descriptor ¶
func (*EgressRouter) Descriptor() ([]byte, []int)
func (*EgressRouter) Marshal ¶
func (m *EgressRouter) Marshal() (dAtA []byte, err error)
func (*EgressRouter) MarshalToSizedBuffer ¶
func (m *EgressRouter) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*EgressRouter) ProtoMessage ¶
func (*EgressRouter) ProtoMessage()
func (*EgressRouter) Reset ¶
func (m *EgressRouter) Reset()
func (*EgressRouter) Size ¶
func (m *EgressRouter) Size() (n int)
func (*EgressRouter) String ¶
func (this *EgressRouter) String() string
func (EgressRouter) SwaggerDoc ¶
func (EgressRouter) SwaggerDoc() map[string]string
func (*EgressRouter) Unmarshal ¶
func (m *EgressRouter) Unmarshal(dAtA []byte) error
func (*EgressRouter) XXX_DiscardUnknown ¶
func (m *EgressRouter) XXX_DiscardUnknown()
func (*EgressRouter) XXX_Marshal ¶
func (m *EgressRouter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*EgressRouter) XXX_Merge ¶
func (m *EgressRouter) XXX_Merge(src proto.Message)
func (*EgressRouter) XXX_Size ¶
func (m *EgressRouter) XXX_Size() int
func (*EgressRouter) XXX_Unmarshal ¶
func (m *EgressRouter) XXX_Unmarshal(b []byte) error
type EgressRouterAddress ¶
type EgressRouterAddress struct { // IP is the address to configure on the router's interface. Can be IPv4 or IPv6. // +kubebuilder:validation:Required IP string `json:"ip" protobuf:"bytes,1,opt,name=ip"` // IP address of the next-hop gateway, if it cannot be automatically determined. Can be IPv4 or IPv6. Gateway string `json:"gateway,omitempty" protobuf:"bytes,2,opt,name=gateway"` }
EgressRouterAddress contains a pair of IP CIDR and gateway to be configured on the router's interface +kubebuilder:validation:Required
func (*EgressRouterAddress) DeepCopy ¶
func (in *EgressRouterAddress) DeepCopy() *EgressRouterAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRouterAddress.
func (*EgressRouterAddress) DeepCopyInto ¶
func (in *EgressRouterAddress) DeepCopyInto(out *EgressRouterAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressRouterAddress) Descriptor ¶
func (*EgressRouterAddress) Descriptor() ([]byte, []int)
func (*EgressRouterAddress) Marshal ¶
func (m *EgressRouterAddress) Marshal() (dAtA []byte, err error)
func (*EgressRouterAddress) MarshalTo ¶
func (m *EgressRouterAddress) MarshalTo(dAtA []byte) (int, error)
func (*EgressRouterAddress) MarshalToSizedBuffer ¶
func (m *EgressRouterAddress) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*EgressRouterAddress) ProtoMessage ¶
func (*EgressRouterAddress) ProtoMessage()
func (*EgressRouterAddress) Reset ¶
func (m *EgressRouterAddress) Reset()
func (*EgressRouterAddress) Size ¶
func (m *EgressRouterAddress) Size() (n int)
func (*EgressRouterAddress) String ¶
func (this *EgressRouterAddress) String() string
func (EgressRouterAddress) SwaggerDoc ¶
func (EgressRouterAddress) SwaggerDoc() map[string]string
func (*EgressRouterAddress) Unmarshal ¶
func (m *EgressRouterAddress) Unmarshal(dAtA []byte) error
func (*EgressRouterAddress) XXX_DiscardUnknown ¶
func (m *EgressRouterAddress) XXX_DiscardUnknown()
func (*EgressRouterAddress) XXX_Marshal ¶
func (m *EgressRouterAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*EgressRouterAddress) XXX_Merge ¶
func (m *EgressRouterAddress) XXX_Merge(src proto.Message)
func (*EgressRouterAddress) XXX_Size ¶
func (m *EgressRouterAddress) XXX_Size() int
func (*EgressRouterAddress) XXX_Unmarshal ¶
func (m *EgressRouterAddress) XXX_Unmarshal(b []byte) error
type EgressRouterInterface ¶
type EgressRouterInterface struct { // Arguments specific to the interfaceType macvlan // +kubebuilder:default:={mode: Bridge} Macvlan MacvlanConfig `json:"macvlan" protobuf:"bytes,1,opt,name=macvlan"` }
EgressRouterInterface contains the configuration of interface to create/use.
func (*EgressRouterInterface) DeepCopy ¶
func (in *EgressRouterInterface) DeepCopy() *EgressRouterInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRouterInterface.
func (*EgressRouterInterface) DeepCopyInto ¶
func (in *EgressRouterInterface) DeepCopyInto(out *EgressRouterInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressRouterInterface) Descriptor ¶
func (*EgressRouterInterface) Descriptor() ([]byte, []int)
func (*EgressRouterInterface) Marshal ¶
func (m *EgressRouterInterface) Marshal() (dAtA []byte, err error)
func (*EgressRouterInterface) MarshalTo ¶
func (m *EgressRouterInterface) MarshalTo(dAtA []byte) (int, error)
func (*EgressRouterInterface) MarshalToSizedBuffer ¶
func (m *EgressRouterInterface) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*EgressRouterInterface) ProtoMessage ¶
func (*EgressRouterInterface) ProtoMessage()
func (*EgressRouterInterface) Reset ¶
func (m *EgressRouterInterface) Reset()
func (*EgressRouterInterface) Size ¶
func (m *EgressRouterInterface) Size() (n int)
func (*EgressRouterInterface) String ¶
func (this *EgressRouterInterface) String() string
func (EgressRouterInterface) SwaggerDoc ¶
func (EgressRouterInterface) SwaggerDoc() map[string]string
func (*EgressRouterInterface) Unmarshal ¶
func (m *EgressRouterInterface) Unmarshal(dAtA []byte) error
func (*EgressRouterInterface) XXX_DiscardUnknown ¶
func (m *EgressRouterInterface) XXX_DiscardUnknown()
func (*EgressRouterInterface) XXX_Marshal ¶
func (m *EgressRouterInterface) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*EgressRouterInterface) XXX_Merge ¶
func (m *EgressRouterInterface) XXX_Merge(src proto.Message)
func (*EgressRouterInterface) XXX_Size ¶
func (m *EgressRouterInterface) XXX_Size() int
func (*EgressRouterInterface) XXX_Unmarshal ¶
func (m *EgressRouterInterface) XXX_Unmarshal(b []byte) error
type EgressRouterList ¶
type EgressRouterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items []EgressRouter `json:"items" protobuf:"bytes,2,rep,name=items"` }
EgressRouterList is the list of egress router pods requested.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*EgressRouterList) DeepCopy ¶
func (in *EgressRouterList) DeepCopy() *EgressRouterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRouterList.
func (*EgressRouterList) DeepCopyInto ¶
func (in *EgressRouterList) DeepCopyInto(out *EgressRouterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressRouterList) DeepCopyObject ¶
func (in *EgressRouterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EgressRouterList) Descriptor ¶
func (*EgressRouterList) Descriptor() ([]byte, []int)
func (*EgressRouterList) Marshal ¶
func (m *EgressRouterList) Marshal() (dAtA []byte, err error)
func (*EgressRouterList) MarshalToSizedBuffer ¶
func (m *EgressRouterList) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*EgressRouterList) ProtoMessage ¶
func (*EgressRouterList) ProtoMessage()
func (*EgressRouterList) Reset ¶
func (m *EgressRouterList) Reset()
func (*EgressRouterList) Size ¶
func (m *EgressRouterList) Size() (n int)
func (*EgressRouterList) String ¶
func (this *EgressRouterList) String() string
func (EgressRouterList) SwaggerDoc ¶
func (EgressRouterList) SwaggerDoc() map[string]string
func (*EgressRouterList) Unmarshal ¶
func (m *EgressRouterList) Unmarshal(dAtA []byte) error
func (*EgressRouterList) XXX_DiscardUnknown ¶
func (m *EgressRouterList) XXX_DiscardUnknown()
func (*EgressRouterList) XXX_Marshal ¶
func (m *EgressRouterList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*EgressRouterList) XXX_Merge ¶
func (m *EgressRouterList) XXX_Merge(src proto.Message)
func (*EgressRouterList) XXX_Size ¶
func (m *EgressRouterList) XXX_Size() int
func (*EgressRouterList) XXX_Unmarshal ¶
func (m *EgressRouterList) XXX_Unmarshal(b []byte) error
type EgressRouterMode ¶
type EgressRouterMode string
EgressRouterMode defines the different types of modes that are supported for the egress router interface. The default mode is "Redirect" and is the only supported mode currently.
const ( // EgressRouterModeRedirect creates an egress router that sets up iptables rules to redirect traffic // from its own IP address to one or more remote destination IP addresses. EgressRouterModeRedirect EgressRouterMode = "Redirect" )
type EgressRouterSpec ¶
type EgressRouterSpec struct { // Mode depicts the mode that is used for the egress router. The default mode is "Redirect" and is the only supported mode currently. // +kubebuilder:validation:Required // +kubebuilder:validation:Enum="Redirect" // +kubebuilder:default:="Redirect" Mode EgressRouterMode `json:"mode" protobuf:"bytes,1,opt,name=mode,casttype=EgressRouterMode"` // Redirect represents the configuration parameters specific to redirect mode. Redirect *RedirectConfig `json:"redirect,omitempty" protobuf:"bytes,2,opt,name=redirect"` // Specification of interface to create/use. The default is macvlan. // Currently only macvlan is supported. // +kubebuilder:validation:Required // +kubebuilder:default:={macvlan: {mode: Bridge}} NetworkInterface EgressRouterInterface `json:"networkInterface" protobuf:"bytes,3,opt,name=networkInterface"` // List of IP addresses to configure on the pod's secondary interface. // +kubebuilder:validation:Required Addresses []EgressRouterAddress `json:"addresses" protobuf:"bytes,4,rep,name=addresses"` }
EgressRouterSpec contains the configuration for an egress router. Mode, networkInterface and addresses fields must be specified along with exactly one "Config" that matches the mode. Each config consists of parameters specific to that mode. +k8s:openapi-gen=true +kubebuilder:validation:Required
func (*EgressRouterSpec) DeepCopy ¶
func (in *EgressRouterSpec) DeepCopy() *EgressRouterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRouterSpec.
func (*EgressRouterSpec) DeepCopyInto ¶
func (in *EgressRouterSpec) DeepCopyInto(out *EgressRouterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressRouterSpec) Descriptor ¶
func (*EgressRouterSpec) Descriptor() ([]byte, []int)
func (*EgressRouterSpec) Marshal ¶
func (m *EgressRouterSpec) Marshal() (dAtA []byte, err error)
func (*EgressRouterSpec) MarshalToSizedBuffer ¶
func (m *EgressRouterSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*EgressRouterSpec) ProtoMessage ¶
func (*EgressRouterSpec) ProtoMessage()
func (*EgressRouterSpec) Reset ¶
func (m *EgressRouterSpec) Reset()
func (*EgressRouterSpec) Size ¶
func (m *EgressRouterSpec) Size() (n int)
func (*EgressRouterSpec) String ¶
func (this *EgressRouterSpec) String() string
func (EgressRouterSpec) SwaggerDoc ¶
func (EgressRouterSpec) SwaggerDoc() map[string]string
func (*EgressRouterSpec) Unmarshal ¶
func (m *EgressRouterSpec) Unmarshal(dAtA []byte) error
func (*EgressRouterSpec) XXX_DiscardUnknown ¶
func (m *EgressRouterSpec) XXX_DiscardUnknown()
func (*EgressRouterSpec) XXX_Marshal ¶
func (m *EgressRouterSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*EgressRouterSpec) XXX_Merge ¶
func (m *EgressRouterSpec) XXX_Merge(src proto.Message)
func (*EgressRouterSpec) XXX_Size ¶
func (m *EgressRouterSpec) XXX_Size() int
func (*EgressRouterSpec) XXX_Unmarshal ¶
func (m *EgressRouterSpec) XXX_Unmarshal(b []byte) error
type EgressRouterStatus ¶
type EgressRouterStatus struct { // Observed status of the egress router // +kubebuilder:validation:Required Conditions []EgressRouterStatusCondition `json:"conditions,omitempty" protobuf:"bytes,1,rep,name=conditions"` }
EgressRouterStatus contains the observed status of EgressRouter. Read-only.
func (*EgressRouterStatus) DeepCopy ¶
func (in *EgressRouterStatus) DeepCopy() *EgressRouterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRouterStatus.
func (*EgressRouterStatus) DeepCopyInto ¶
func (in *EgressRouterStatus) DeepCopyInto(out *EgressRouterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressRouterStatus) Descriptor ¶
func (*EgressRouterStatus) Descriptor() ([]byte, []int)
func (*EgressRouterStatus) Marshal ¶
func (m *EgressRouterStatus) Marshal() (dAtA []byte, err error)
func (*EgressRouterStatus) MarshalTo ¶
func (m *EgressRouterStatus) MarshalTo(dAtA []byte) (int, error)
func (*EgressRouterStatus) MarshalToSizedBuffer ¶
func (m *EgressRouterStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*EgressRouterStatus) ProtoMessage ¶
func (*EgressRouterStatus) ProtoMessage()
func (*EgressRouterStatus) Reset ¶
func (m *EgressRouterStatus) Reset()
func (*EgressRouterStatus) Size ¶
func (m *EgressRouterStatus) Size() (n int)
func (*EgressRouterStatus) String ¶
func (this *EgressRouterStatus) String() string
func (EgressRouterStatus) SwaggerDoc ¶
func (EgressRouterStatus) SwaggerDoc() map[string]string
func (*EgressRouterStatus) Unmarshal ¶
func (m *EgressRouterStatus) Unmarshal(dAtA []byte) error
func (*EgressRouterStatus) XXX_DiscardUnknown ¶
func (m *EgressRouterStatus) XXX_DiscardUnknown()
func (*EgressRouterStatus) XXX_Marshal ¶
func (m *EgressRouterStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*EgressRouterStatus) XXX_Merge ¶
func (m *EgressRouterStatus) XXX_Merge(src proto.Message)
func (*EgressRouterStatus) XXX_Size ¶
func (m *EgressRouterStatus) XXX_Size() int
func (*EgressRouterStatus) XXX_Unmarshal ¶
func (m *EgressRouterStatus) XXX_Unmarshal(b []byte) error
type EgressRouterStatusCondition ¶
type EgressRouterStatusCondition struct { // Type specifies the aspect reported by this condition; one of Available, Progressing, Degraded // +kubebuilder:validation:Required // +kubebuilder:validation:Enum="Available";"Progressing";"Degraded" // +required Type EgressRouterStatusConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=EgressRouterStatusConditionType"` // Status of the condition, one of True, False, Unknown. // +kubebuilder:validation:Required // +kubebuilder:validation:Enum="True";"False";"Unknown" // +required Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"` // LastTransitionTime is the time of the last update to the current status property. // +kubebuilder:validation:Required // +required // +nullable LastTransitionTime metav1.Time `json:"lastTransitionTime" protobuf:"bytes,3,opt,name=lastTransitionTime"` // Reason is the CamelCase reason for the condition's current status. Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"` // Message provides additional information about the current condition. // This is only to be consumed by humans. It may contain Line Feed // characters (U+000A), which should be rendered as new lines. Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"` }
EgressRouterStatusCondition represents the state of the egress router's managed and monitored components. +k8s:deepcopy-gen=true
func (*EgressRouterStatusCondition) DeepCopy ¶
func (in *EgressRouterStatusCondition) DeepCopy() *EgressRouterStatusCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRouterStatusCondition.
func (*EgressRouterStatusCondition) DeepCopyInto ¶
func (in *EgressRouterStatusCondition) DeepCopyInto(out *EgressRouterStatusCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressRouterStatusCondition) Descriptor ¶
func (*EgressRouterStatusCondition) Descriptor() ([]byte, []int)
func (*EgressRouterStatusCondition) Marshal ¶
func (m *EgressRouterStatusCondition) Marshal() (dAtA []byte, err error)
func (*EgressRouterStatusCondition) MarshalTo ¶
func (m *EgressRouterStatusCondition) MarshalTo(dAtA []byte) (int, error)
func (*EgressRouterStatusCondition) MarshalToSizedBuffer ¶
func (m *EgressRouterStatusCondition) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*EgressRouterStatusCondition) ProtoMessage ¶
func (*EgressRouterStatusCondition) ProtoMessage()
func (*EgressRouterStatusCondition) Reset ¶
func (m *EgressRouterStatusCondition) Reset()
func (*EgressRouterStatusCondition) Size ¶
func (m *EgressRouterStatusCondition) Size() (n int)
func (*EgressRouterStatusCondition) String ¶
func (this *EgressRouterStatusCondition) String() string
func (EgressRouterStatusCondition) SwaggerDoc ¶
func (EgressRouterStatusCondition) SwaggerDoc() map[string]string
func (*EgressRouterStatusCondition) Unmarshal ¶
func (m *EgressRouterStatusCondition) Unmarshal(dAtA []byte) error
func (*EgressRouterStatusCondition) XXX_DiscardUnknown ¶
func (m *EgressRouterStatusCondition) XXX_DiscardUnknown()
func (*EgressRouterStatusCondition) XXX_Marshal ¶
func (m *EgressRouterStatusCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*EgressRouterStatusCondition) XXX_Merge ¶
func (m *EgressRouterStatusCondition) XXX_Merge(src proto.Message)
func (*EgressRouterStatusCondition) XXX_Size ¶
func (m *EgressRouterStatusCondition) XXX_Size() int
func (*EgressRouterStatusCondition) XXX_Unmarshal ¶
func (m *EgressRouterStatusCondition) XXX_Unmarshal(b []byte) error
type EgressRouterStatusConditionType ¶
type EgressRouterStatusConditionType string
EgressRouterStatusConditionType is an aspect of the router's state.
const ( // EgressRouterAvailable indicates that the EgressRouter (the associated pod, service, NAD), is functional and available in the cluster. EgressRouterAvailable EgressRouterStatusConditionType = "Available" // EgressRouterProgressing indicates that the router is actively rolling out new code, // propagating config changes, or otherwise moving from one steady state to // another. EgressRouterProgressing EgressRouterStatusConditionType = "Progressing" // EgressRouterDegraded indicates that the router's current state does not match its // desired state over a period of time resulting in a lower quality of service. EgressRouterDegraded EgressRouterStatusConditionType = "Degraded" )
type L4RedirectRule ¶
type L4RedirectRule struct { // IP specifies the remote destination's IP address. Can be IPv4 or IPv6. // +kubebuilder:validation:Required DestinationIP string `json:"destinationIP" protobuf:"bytes,1,opt,name=destinationIP"` // Port is the port number to which clients should send traffic to be redirected. // +kubebuilder:validation:Required // +kubebuilder:validation:Maximum:=65535 // +kubebuilder:validation:Minimum:=1 Port int32 `json:"port" protobuf:"varint,2,opt,name=port"` // Protocol can be TCP, SCTP or UDP. // +kubebuilder:validation:Required // +kubebuilder:validation:Enum="TCP";"UDP";"SCTP" Protocol ProtocolType `json:"protocol" protobuf:"bytes,3,opt,name=protocol,casttype=ProtocolType"` // TargetPort allows specifying the port number on the remote destination to which the traffic gets redirected to. // If unspecified, the value from "Port" is used. // +kubebuilder:validation:Maximum:=65535 // +kubebuilder:validation:Minimum:=1 TargetPort int32 `json:"targetPort,omitempty" protobuf:"varint,4,opt,name=targetPort"` }
L4RedirectRule defines a DNAT redirection from a given port to a destination IP and port.
func (*L4RedirectRule) DeepCopy ¶
func (in *L4RedirectRule) DeepCopy() *L4RedirectRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L4RedirectRule.
func (*L4RedirectRule) DeepCopyInto ¶
func (in *L4RedirectRule) DeepCopyInto(out *L4RedirectRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*L4RedirectRule) Descriptor ¶
func (*L4RedirectRule) Descriptor() ([]byte, []int)
func (*L4RedirectRule) Marshal ¶
func (m *L4RedirectRule) Marshal() (dAtA []byte, err error)
func (*L4RedirectRule) MarshalToSizedBuffer ¶
func (m *L4RedirectRule) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*L4RedirectRule) ProtoMessage ¶
func (*L4RedirectRule) ProtoMessage()
func (*L4RedirectRule) Reset ¶
func (m *L4RedirectRule) Reset()
func (*L4RedirectRule) Size ¶
func (m *L4RedirectRule) Size() (n int)
func (*L4RedirectRule) String ¶
func (this *L4RedirectRule) String() string
func (L4RedirectRule) SwaggerDoc ¶
func (L4RedirectRule) SwaggerDoc() map[string]string
func (*L4RedirectRule) Unmarshal ¶
func (m *L4RedirectRule) Unmarshal(dAtA []byte) error
func (*L4RedirectRule) XXX_DiscardUnknown ¶
func (m *L4RedirectRule) XXX_DiscardUnknown()
func (*L4RedirectRule) XXX_Marshal ¶
func (m *L4RedirectRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*L4RedirectRule) XXX_Merge ¶
func (m *L4RedirectRule) XXX_Merge(src proto.Message)
func (*L4RedirectRule) XXX_Size ¶
func (m *L4RedirectRule) XXX_Size() int
func (*L4RedirectRule) XXX_Unmarshal ¶
func (m *L4RedirectRule) XXX_Unmarshal(b []byte) error
type MacvlanConfig ¶
type MacvlanConfig struct { // Mode depicts the mode that is used for the macvlan interface; one of Bridge|Private|VEPA|Passthru. The default mode is "Bridge". // +kubebuilder:validation:Required // +kubebuilder:validation:Enum="Bridge";"Private";"VEPA";"Passthru" // +kubebuilder:default:="Bridge" Mode MacvlanMode `json:"mode" protobuf:"bytes,1,opt,name=mode,casttype=MacvlanMode"` // Name of the master interface. Need not be specified if it can be inferred from the IP address. Master string `json:"master,omitempty" protobuf:"bytes,2,opt,name=master"` }
MacvlanConfig consists of arguments specific to the macvlan EgressRouterInterfaceType
func (*MacvlanConfig) DeepCopy ¶
func (in *MacvlanConfig) DeepCopy() *MacvlanConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MacvlanConfig.
func (*MacvlanConfig) DeepCopyInto ¶
func (in *MacvlanConfig) DeepCopyInto(out *MacvlanConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MacvlanConfig) Descriptor ¶
func (*MacvlanConfig) Descriptor() ([]byte, []int)
func (*MacvlanConfig) Marshal ¶
func (m *MacvlanConfig) Marshal() (dAtA []byte, err error)
func (*MacvlanConfig) MarshalToSizedBuffer ¶
func (m *MacvlanConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*MacvlanConfig) ProtoMessage ¶
func (*MacvlanConfig) ProtoMessage()
func (*MacvlanConfig) Reset ¶
func (m *MacvlanConfig) Reset()
func (*MacvlanConfig) Size ¶
func (m *MacvlanConfig) Size() (n int)
func (*MacvlanConfig) String ¶
func (this *MacvlanConfig) String() string
func (MacvlanConfig) SwaggerDoc ¶
func (MacvlanConfig) SwaggerDoc() map[string]string
func (*MacvlanConfig) Unmarshal ¶
func (m *MacvlanConfig) Unmarshal(dAtA []byte) error
func (*MacvlanConfig) XXX_DiscardUnknown ¶
func (m *MacvlanConfig) XXX_DiscardUnknown()
func (*MacvlanConfig) XXX_Marshal ¶
func (m *MacvlanConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*MacvlanConfig) XXX_Merge ¶
func (m *MacvlanConfig) XXX_Merge(src proto.Message)
func (*MacvlanConfig) XXX_Size ¶
func (m *MacvlanConfig) XXX_Size() int
func (*MacvlanConfig) XXX_Unmarshal ¶
func (m *MacvlanConfig) XXX_Unmarshal(b []byte) error
type MacvlanMode ¶
type MacvlanMode string
MacvlanMode defines the different types of modes that are supported for the macvlan interface. source: https://man7.org/linux/man-pages/man8/ip-link.8.html
const ( // MacvlanModeBridge connects all endpoints directly to each other, communication is not redirected through the physical interface's peer. MacvlanModeBridge MacvlanMode = "Bridge" // MacvlanModePrivate does not allow communication between macvlan instances on the same physical interface, // even if the external switch supports hairpin mode. MacvlanModePrivate MacvlanMode = "Private" // MacvlanModeVEPA is the Virtual Ethernet Port Aggregator mode. Data from one macvlan instance to the other on the // same physical interface is transmitted over the physical interface. Either the attached switch needs // to support hairpin mode, or there must be a TCP/IP router forwarding the packets in order to allow // communication. This is the default mode. MacvlanModeVEPA MacvlanMode = "VEPA" // MacvlanModePassthru mode gives more power to a single endpoint, usually in macvtap mode. // It is not allowed for more than one endpoint on the same physical interface. All traffic will be forwarded // to this endpoint, allowing virtio guests to change MAC address or set promiscuous mode in order to bridge the // interface or create vlan interfaces on top of it. MacvlanModePassthru MacvlanMode = "Passthru" )
type ProtocolType ¶
type ProtocolType string
ProtocolType defines the protocol types that are supported
const ( // ProtocolTypeTCP refers to the TCP protocol ProtocolTypeTCP ProtocolType = "TCP" // ProtocolTypeUDP refers to the UDP protocol ProtocolTypeUDP ProtocolType = "UDP" // ProtocolTypeSCTP refers to the SCTP protocol ProtocolTypeSCTP ProtocolType = "SCTP" )
type RedirectConfig ¶
type RedirectConfig struct { // List of L4RedirectRules that define the DNAT redirection from the pod to the destination in redirect mode. RedirectRules []L4RedirectRule `json:"redirectRules,omitempty" protobuf:"bytes,1,rep,name=redirectRules"` // FallbackIP specifies the remote destination's IP address. Can be IPv4 or IPv6. // If no redirect rules are specified, all traffic from the router are redirected to this IP. // If redirect rules are specified, then any connections on any other port (undefined in the rules) on the router will be redirected to this IP. // If redirect rules are specified and no fallback IP is provided, connections on other ports will simply be rejected. FallbackIP string `json:"fallbackIP,omitempty" protobuf:"bytes,2,opt,name=fallbackIP"` }
RedirectConfig represents the configuration parameters specific to redirect mode.
func (*RedirectConfig) DeepCopy ¶
func (in *RedirectConfig) DeepCopy() *RedirectConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedirectConfig.
func (*RedirectConfig) DeepCopyInto ¶
func (in *RedirectConfig) DeepCopyInto(out *RedirectConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RedirectConfig) Descriptor ¶
func (*RedirectConfig) Descriptor() ([]byte, []int)
func (*RedirectConfig) Marshal ¶
func (m *RedirectConfig) Marshal() (dAtA []byte, err error)
func (*RedirectConfig) MarshalToSizedBuffer ¶
func (m *RedirectConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RedirectConfig) ProtoMessage ¶
func (*RedirectConfig) ProtoMessage()
func (*RedirectConfig) Reset ¶
func (m *RedirectConfig) Reset()
func (*RedirectConfig) Size ¶
func (m *RedirectConfig) Size() (n int)
func (*RedirectConfig) String ¶
func (this *RedirectConfig) String() string
func (RedirectConfig) SwaggerDoc ¶
func (RedirectConfig) SwaggerDoc() map[string]string
func (*RedirectConfig) Unmarshal ¶
func (m *RedirectConfig) Unmarshal(dAtA []byte) error
func (*RedirectConfig) XXX_DiscardUnknown ¶
func (m *RedirectConfig) XXX_DiscardUnknown()
func (*RedirectConfig) XXX_Marshal ¶
func (m *RedirectConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RedirectConfig) XXX_Merge ¶
func (m *RedirectConfig) XXX_Merge(src proto.Message)
func (*RedirectConfig) XXX_Size ¶
func (m *RedirectConfig) XXX_Size() int
func (*RedirectConfig) XXX_Unmarshal ¶
func (m *RedirectConfig) XXX_Unmarshal(b []byte) error