v1beta1

package
v0.0.0-...-d8950e2 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
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

func (in *Egress) DeepCopy() *Egress

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

func (*Egress) DeepCopyInto

func (in *Egress) DeepCopyInto(out *Egress)

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

func (*Egress) DeepCopyObject

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

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

func (r *Egress) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager setups the webhook for Egress

func (*Egress) ValidateCreate

func (r *Egress) ValidateCreate() (warnings admission.Warnings, err error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Egress) ValidateDelete

func (r *Egress) ValidateDelete() (warnings admission.Warnings, err error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Egress) ValidateUpdate

func (r *Egress) ValidateUpdate(old runtime.Object) (warnings admission.Warnings, err error)

ValidateUpdate 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

func (in *Metadata) DeepCopy() *Metadata

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

func (*Metadata) DeepCopyInto

func (in *Metadata) DeepCopyInto(out *Metadata)

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

Jump to

Keyboard shortcuts

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