Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the egress.ysksuzuki.com v1beta1 API group +kubebuilder:object:generate=true +groupName=egress.ysksuzuki.com
Index ¶
- Variables
- type Egress
- func (in *Egress) DeepCopy() *Egress
- func (in *Egress) DeepCopyInto(out *Egress)
- func (in *Egress) DeepCopyObject() runtime.Object
- func (r *Egress) Default()
- func (r *Egress) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Egress) ValidateCreate() (warnings admission.Warnings, err error)
- func (r *Egress) ValidateDelete() (warnings admission.Warnings, err error)
- func (r *Egress) ValidateUpdate(old runtime.Object) (warnings admission.Warnings, err error)
- type EgressList
- type EgressPodTemplate
- type EgressSpec
- type EgressStatus
- type Metadata
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "egress.ysksuzuki.com", Version: "v1beta1"} // 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 ¶
This section is empty.
Types ¶
type Egress ¶
type Egress struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec EgressSpec `json:"spec,omitempty"` Status EgressStatus `json:"status,omitempty"` }
Egress is the Schema for the egresses API
func (*Egress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Egress.
func (*Egress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Egress) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Egress) Default ¶
func (r *Egress) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Egress) SetupWebhookWithManager ¶
SetupWebhookWithManager setups the webhook for Egress
func (*Egress) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Egress) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type EgressList ¶
type EgressList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Egress `json:"items"` }
EgressList contains a list of Egress
func (*EgressList) DeepCopy ¶
func (in *EgressList) DeepCopy() *EgressList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressList.
func (*EgressList) DeepCopyInto ¶
func (in *EgressList) DeepCopyInto(out *EgressList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressList) DeepCopyObject ¶
func (in *EgressList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EgressPodTemplate ¶
type EgressPodTemplate struct { // Metadata defines optional labels and annotations // +optional Metadata `json:"metadata,omitempty"` // Spec defines the pod template spec. // +optional Spec corev1.PodSpec `json:"spec,omitempty"` }
EgressPodTemplate defines pod template for Egress
This is almost the same as corev1.PodTemplate but is simplified to workaround JSON patch issues.
func (*EgressPodTemplate) DeepCopy ¶
func (in *EgressPodTemplate) DeepCopy() *EgressPodTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressPodTemplate.
func (*EgressPodTemplate) DeepCopyInto ¶
func (in *EgressPodTemplate) DeepCopyInto(out *EgressPodTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EgressSpec ¶
type EgressSpec struct { // Destinations is a list of IP networks in CIDR format. // +kubebuilder:validation:MinItems=1 Destinations []string `json:"destinations"` // Replicas is the desired number of egress (SNAT) pods. // Defaults to 1. // +kubebuilder:default=1 // +kubebuilder:validation:Minimum=1 // +optional Replicas int32 `json:"replicas"` // Strategy describes how to replace existing pods with new ones. // Ref. https://pkg.go.dev/k8s.io/api/apps/v1?tab=doc#DeploymentStrategy // +optional Strategy *appsv1.DeploymentStrategy `json:"strategy,omitempty"` // Template is an optional template for egress pods. // A container named "egress" is special. It is the main container of // egress pods and usually is not meant to be modified. // +optional Template *EgressPodTemplate `json:"template,omitempty"` // SessionAffinity is to specify the same field of Service for the Egress. // However, the default is changed from None to ClientIP. // Ref. https://pkg.go.dev/k8s.io/api/core/v1?tab=doc#ServiceSpec // +kubebuilder:validation:Enum=ClientIP;None // +kubebuilder:default=ClientIP // +optional SessionAffinity corev1.ServiceAffinity `json:"sessionAffinity,omitempty"` // SessionAffinityConfig is to specify the same field of Service for Egress. // Ref. https://pkg.go.dev/k8s.io/api/core/v1?tab=doc#ServiceSpec // +optional SessionAffinityConfig *corev1.SessionAffinityConfig `json:"sessionAffinityConfig,omitempty"` }
EgressSpec defines the desired state of Egress
func (*EgressSpec) DeepCopy ¶
func (in *EgressSpec) DeepCopy() *EgressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressSpec.
func (*EgressSpec) DeepCopyInto ¶
func (in *EgressSpec) DeepCopyInto(out *EgressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EgressStatus ¶
type EgressStatus struct { // Replicas is copied from the underlying Deployment's status.replicas. // +optional Replicas int32 `json:"replicas,omitempty"` // Selector is a serialized label selector in string form. Selector string `json:"selector,omitempty"` }
EgressStatus defines the observed state of Egress
func (*EgressStatus) DeepCopy ¶
func (in *EgressStatus) DeepCopy() *EgressStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressStatus.
func (*EgressStatus) DeepCopyInto ¶
func (in *EgressStatus) DeepCopyInto(out *EgressStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metadata ¶
type Metadata struct { // Annotations are optional annotations // +optional Annotations map[string]string `json:"annotations,omitempty"` // Labels are optional labels // +optional Labels map[string]string `json:"labels,omitempty"` }
Metadata defines a simplified version of ObjectMeta.
func (*Metadata) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.