v1alpha1

package
v1.2.5 Latest Latest
Warning

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

Go to latest
Published: May 13, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Package v1alpha1 contains API Schema definitions for the policy.flomesh.io v1alpha1 API group

Index

Constants

View Source
const (
	// KindService is the kind corresponding to a Service resource.
	KindService = "Service"

	// KindAuthenticatedPrincipal is the kind corresponding to an authenticated principal.
	KindAuthenticatedPrincipal = "AuthenticatedPrincipal"

	// KindIPRange is the kind corresponding to an IP address range represented in CIDR notation.
	KindIPRange = "IPRange"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register API objects in the policy.flomesh.io v1alpha1 API group
	SchemeGroupVersion = schema.GroupVersion{
		Group:   "policy.flomesh.io",
		Version: "v1alpha1",
	}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme adds all Resources to the Scheme
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AccessCert

type AccessCert struct {
	// Object's type metadata
	metav1.TypeMeta `json:",inline"`

	// Object's metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the Access Cert specification
	// +optional
	Spec AccessCertSpec `json:"spec,omitempty"`

	// Status is the status of the AccessCert configuration.
	// +optional
	Status AccessCertStatus `json:"status,omitempty"`
}

AccessCert is the type used to represent an AccessCert policy. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:metadata:labels=app.kubernetes.io/name=flomesh.io +kubebuilder:resource:shortName=acct,scope=Namespaced

func (*AccessCert) DeepCopy

func (in *AccessCert) DeepCopy() *AccessCert

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

func (*AccessCert) DeepCopyInto

func (in *AccessCert) DeepCopyInto(out *AccessCert)

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

func (*AccessCert) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessCertList

type AccessCertList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []AccessCert `json:"items"`
}

AccessCertList defines the list of AccessCert objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*AccessCertList) DeepCopy

func (in *AccessCertList) DeepCopy() *AccessCertList

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

func (*AccessCertList) DeepCopyInto

func (in *AccessCertList) DeepCopyInto(out *AccessCertList)

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

func (*AccessCertList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessCertSpec

type AccessCertSpec struct {
	// SubjectAltNames defines the Subject Alternative Names (domain names and IP addresses) secured by the certificate.
	SubjectAltNames []string `json:"subjectAltNames"`

	// Secret defines the secret in which the certificate is stored.
	Secret corev1.SecretReference `json:"secret"`
}

AccessCertSpec is the type used to represent the AccessCert policy specification.

func (*AccessCertSpec) DeepCopy

func (in *AccessCertSpec) DeepCopy() *AccessCertSpec

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

func (*AccessCertSpec) DeepCopyInto

func (in *AccessCertSpec) DeepCopyInto(out *AccessCertSpec)

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

type AccessCertStatus

type AccessCertStatus struct {
	// CurrentStatus defines the current status of an AccessCert resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

	// Reason defines the reason for the current status of an AccessCert resource.
	// +optional
	Reason string `json:"reason,omitempty"`
}

AccessCertStatus is the type used to represent the status of an AccessCert resource.

func (*AccessCertStatus) DeepCopy

func (in *AccessCertStatus) DeepCopy() *AccessCertStatus

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

func (*AccessCertStatus) DeepCopyInto

func (in *AccessCertStatus) DeepCopyInto(out *AccessCertStatus)

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

type AccessControl

type AccessControl struct {
	// Object's type metadata
	metav1.TypeMeta `json:",inline"`

	// Object's metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the Ingress backend policy specification
	// +optional
	Spec AccessControlSpec `json:"spec,omitempty"`

	// Status is the status of the AccessControl configuration.
	// +optional
	Status AccessControlStatus `json:"status,omitempty"`
}

AccessControl is the type used to represent an AccessControl policy. An AccessControl policy authorizes one or more backends to accept ingress traffic from one or more sources. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:metadata:labels=app.kubernetes.io/name=flomesh.io +kubebuilder:resource:shortName=accesscontrol,scope=Namespaced

func (*AccessControl) DeepCopy

func (in *AccessControl) DeepCopy() *AccessControl

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

func (*AccessControl) DeepCopyInto

func (in *AccessControl) DeepCopyInto(out *AccessControl)

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

func (*AccessControl) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessControlBackendSpec

type AccessControlBackendSpec struct {
	// Name defines the name of the backend.
	Name string `json:"name"`

	// Port defines the specification for the backend's port.
	Port PortSpec `json:"port"`

	// TLS defines the specification for the backend's TLS configuration.
	// +optional
	TLS *TLSSpec `json:"tls,omitempty"`
}

AccessControlBackendSpec is the type used to represent a Backend specified in the AccessControl policy specification.

func (*AccessControlBackendSpec) DeepCopy

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

func (*AccessControlBackendSpec) DeepCopyInto

func (in *AccessControlBackendSpec) DeepCopyInto(out *AccessControlBackendSpec)

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

type AccessControlList

type AccessControlList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []AccessControl `json:"items"`
}

AccessControlList defines the list of AccessControl objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*AccessControlList) DeepCopy

func (in *AccessControlList) DeepCopy() *AccessControlList

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

func (*AccessControlList) DeepCopyInto

func (in *AccessControlList) DeepCopyInto(out *AccessControlList)

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

func (*AccessControlList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessControlSourceSpec

type AccessControlSourceSpec struct {
	// Kind defines the kind for the source in the AccessControl policy.
	// Must be one of: Service, AuthenticatedPrincipal, IPRange
	Kind string `json:"kind"`

	// Name defines the name of the source for the given Kind.
	Name string `json:"name"`

	// Namespace defines the namespace for the given source.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

AccessControlSourceSpec is the type used to represent the Source in the list of Sources specified in an AccessControl policy specification.

func (*AccessControlSourceSpec) DeepCopy

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

func (*AccessControlSourceSpec) DeepCopyInto

func (in *AccessControlSourceSpec) DeepCopyInto(out *AccessControlSourceSpec)

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

type AccessControlSpec

type AccessControlSpec struct {
	// Backends defines the list of backends the AccessControl policy applies to.
	// +optional
	Backends []AccessControlBackendSpec `json:"backends"`

	// Sources defines the list of sources the AccessControl policy applies to.
	Sources []AccessControlSourceSpec `json:"sources"`

	// Matches defines the list of object references the AccessControl policy should match on.
	// +optional
	Matches []corev1.TypedLocalObjectReference `json:"matches,omitempty"`
}

AccessControlSpec is the type used to represent the AccessControl policy specification.

func (*AccessControlSpec) DeepCopy

func (in *AccessControlSpec) DeepCopy() *AccessControlSpec

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

func (*AccessControlSpec) DeepCopyInto

func (in *AccessControlSpec) DeepCopyInto(out *AccessControlSpec)

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

type AccessControlStatus

type AccessControlStatus struct {
	// CurrentStatus defines the current status of an AccessControl resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

	// Reason defines the reason for the current status of an AccessControl resource.
	// +optional
	Reason string `json:"reason,omitempty"`
}

AccessControlStatus is the type used to represent the status of an AccessControl resource.

func (*AccessControlStatus) DeepCopy

func (in *AccessControlStatus) DeepCopy() *AccessControlStatus

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

func (*AccessControlStatus) DeepCopyInto

func (in *AccessControlStatus) DeepCopyInto(out *AccessControlStatus)

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

type BackendSpec

type BackendSpec struct {
	// Name defines the name of the backend.
	Name string `json:"name"`

	// Port defines the specification for the backend's port.
	Port PortSpec `json:"port"`

	// TLS defines the specification for the backend's TLS configuration.
	// +optional
	TLS *TLSSpec `json:"tls,omitempty"`
}

BackendSpec is the type used to represent a Backend specified in the IngressBackend policy specification.

func (*BackendSpec) DeepCopy

func (in *BackendSpec) DeepCopy() *BackendSpec

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

func (*BackendSpec) DeepCopyInto

func (in *BackendSpec) DeepCopyInto(out *BackendSpec)

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

type ConnectionSettingsSpec

type ConnectionSettingsSpec struct {
	// TCP specifies the TCP level connection settings.
	// Applies to both TCP and HTTP connections.
	// +optional
	TCP *TCPConnectionSettings `json:"tcp,omitempty"`

	// HTTP specifies the HTTP level connection settings.
	// +optional
	HTTP *HTTPConnectionSettings `json:"http,omitempty"`
}

ConnectionSettingsSpec defines the connection settings for an upstream host.

func (*ConnectionSettingsSpec) DeepCopy

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

func (*ConnectionSettingsSpec) DeepCopyInto

func (in *ConnectionSettingsSpec) DeepCopyInto(out *ConnectionSettingsSpec)

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

type Egress

type Egress struct {
	// Object's type metadata
	metav1.TypeMeta `json:",inline"`

	// Object's metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the Egress policy specification
	// +optional
	Spec EgressSpec `json:"spec,omitempty"`
}

Egress is the type used to represent an Egress traffic policy. An Egress policy allows applications to access endpoints external to the service mesh or cluster based on the specified rules in the policy. +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:metadata:labels=app.kubernetes.io/name=flomesh.io +kubebuilder:resource:shortName=egress,scope=Namespaced

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.

type EgressBindingSubject

type EgressBindingSubject struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

EgressBindingSubject is a Kubernetes objects which should be allowed egress

func (*EgressBindingSubject) DeepCopy

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

func (*EgressBindingSubject) DeepCopyInto

func (in *EgressBindingSubject) DeepCopyInto(out *EgressBindingSubject)

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

type EgressGateway

type EgressGateway struct {
	// Object's type metadata
	metav1.TypeMeta `json:",inline"`

	// Object's metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the EgressGateway policy specification
	// +optional
	Spec EgressGatewaySpec `json:"spec,omitempty"`
}

EgressGateway is the type used to represent an Egress Gateway policy. +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:metadata:labels=app.kubernetes.io/name=flomesh.io +kubebuilder:resource:shortName=egressgateway,scope=Namespaced

func (*EgressGateway) DeepCopy

func (in *EgressGateway) DeepCopy() *EgressGateway

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

func (*EgressGateway) DeepCopyInto

func (in *EgressGateway) DeepCopyInto(out *EgressGateway)

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

func (*EgressGateway) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EgressGatewayList

type EgressGatewayList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []EgressGateway `json:"items"`
}

EgressGatewayList defines the list of EgressGateway objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*EgressGatewayList) DeepCopy

func (in *EgressGatewayList) DeepCopy() *EgressGatewayList

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

func (*EgressGatewayList) DeepCopyInto

func (in *EgressGatewayList) DeepCopyInto(out *EgressGatewayList)

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

func (*EgressGatewayList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EgressGatewaySpec

type EgressGatewaySpec struct {
	// GlobalEgressGateways defines the list of Global egress gateway.
	// +optional
	GlobalEgressGateways []GatewayBindingSubject `json:"global"`
}

EgressGatewaySpec is the type used to represent the Egress Gateway specification.

func (*EgressGatewaySpec) DeepCopy

func (in *EgressGatewaySpec) DeepCopy() *EgressGatewaySpec

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

func (*EgressGatewaySpec) DeepCopyInto

func (in *EgressGatewaySpec) DeepCopyInto(out *EgressGatewaySpec)

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

type EgressList

type EgressList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Egress `json:"items"`
}

EgressList defines the list of Egress objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

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 EgressPolicyGatewayRule

type EgressPolicyGatewayRule struct {
	EgressPolicies []EgressBindingSubject  `json:"egressPolicies"`
	EgressGateways []GatewayBindingSubject `json:"egressGateways"`
}

EgressPolicyGatewayRule is the type used to represent the rule of Egress Gateway specification based egress policies.

func (*EgressPolicyGatewayRule) DeepCopy

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

func (*EgressPolicyGatewayRule) DeepCopyInto

func (in *EgressPolicyGatewayRule) DeepCopyInto(out *EgressPolicyGatewayRule)

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

type EgressSourceCertSpec

type EgressSourceCertSpec struct {
	// SerialNumber defines the serial number of the certificate.
	SerialNumber int `json:"sn"`

	// SubjectAltNames defines the Subject Alternative Names (domain names and IP addresses) secured by the certificate.
	SubjectAltNames []string `json:"subjectAltNames"`

	// Expiration defines the expiration of the certificate.
	Expiration string `json:"expiration"`

	// Secret defines the secret in which the certificate is stored.
	Secret corev1.SecretReference `json:"secret"`
}

EgressSourceCertSpec is the type to represent the certificate specification for an egress source.

func (*EgressSourceCertSpec) DeepCopy

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

func (*EgressSourceCertSpec) DeepCopyInto

func (in *EgressSourceCertSpec) DeepCopyInto(out *EgressSourceCertSpec)

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

type EgressSourceMTLSSpec

type EgressSourceMTLSSpec struct {
	Issuer string                `json:"issuer,omitempty"`
	Cert   *EgressSourceCertSpec `json:"cert,omitempty"`
}

EgressSourceMTLSSpec is the type to represent the mTLS specification for an egress source.

func (*EgressSourceMTLSSpec) DeepCopy

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

func (*EgressSourceMTLSSpec) DeepCopyInto

func (in *EgressSourceMTLSSpec) DeepCopyInto(out *EgressSourceMTLSSpec)

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

type EgressSourceSpec

type EgressSourceSpec struct {
	// Kind defines the kind for the source in the Egress policy, ex. ServiceAccount.
	Kind string `json:"kind"`

	// Name defines the name of the source for the given Kind.
	Name string `json:"name"`

	// Namespace defines the namespace for the given source.
	Namespace string `json:"namespace"`

	// MTLS defines the certificate specification for the egress source.
	// +optional
	MTLS *EgressSourceMTLSSpec `json:"mtls,omitempty"`
}

EgressSourceSpec is the type used to represent the Source in the list of Sources specified in an Egress policy specification.

func (*EgressSourceSpec) DeepCopy

func (in *EgressSourceSpec) DeepCopy() *EgressSourceSpec

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

func (*EgressSourceSpec) DeepCopyInto

func (in *EgressSourceSpec) DeepCopyInto(out *EgressSourceSpec)

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

type EgressSpec

type EgressSpec struct {
	// Sources defines the list of sources the Egress policy applies to.
	Sources []EgressSourceSpec `json:"sources"`

	// Hosts defines the list of external hosts the Egress policy will allow
	// access to.
	//
	// - For HTTP traffic, the HTTP Host/Authority header is matched against the
	// list of Hosts specified.
	//
	// - For HTTPS traffic, the Server Name Indication (SNI) indicated by the client
	// in the TLS handshake is matched against the list of Hosts specified.
	//
	// - For non-HTTP(s) based protocols, the Hosts field is ignored.
	// +optional
	Hosts []string `json:"hosts,omitempty"`

	// IPAddresses defines the list of external IP address ranges the Egress policy
	// applies to. The destination IP address of the traffic is matched against the
	// list of IPAddresses specified as a CIDR range.
	// +optional
	IPAddresses []string `json:"ipAddresses,omitempty"`

	// Ports defines the list of ports the Egress policy is applies to.
	// The destination port of the traffic is matched against the list of Ports specified.
	Ports []PortSpec `json:"ports"`

	// Matches defines the list of object references the Egress policy should match on.
	// +optional
	Matches []corev1.TypedLocalObjectReference `json:"matches,omitempty"`
}

EgressSpec is the type used to represent the Egress policy specification.

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 GatewayBindingSubject

type GatewayBindingSubject struct {
	Service   string `json:"service"`
	Namespace string `json:"namespace"`
	Weight    *int   `json:"weight,omitempty"`
}

GatewayBindingSubject is a Kubernetes objects which should be allowed forward to

func (*GatewayBindingSubject) DeepCopy

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

func (*GatewayBindingSubject) DeepCopyInto

func (in *GatewayBindingSubject) DeepCopyInto(out *GatewayBindingSubject)

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

type HTTPCircuitBreaking

type HTTPCircuitBreaking struct {
	// StatTimeWindow specifies statistical time period of circuit breaking
	StatTimeWindow *metav1.Duration `json:"statTimeWindow"`

	// MinRequestAmount specifies minimum number of requests (in an active statistic time span) that can trigger circuit breaking.
	MinRequestAmount uint32 `json:"minRequestAmount"`

	// DegradedTimeWindow specifies recovery timeout (in seconds) when circuit breaker opens.
	DegradedTimeWindow *metav1.Duration `json:"degradedTimeWindow"`

	// SlowTimeThreshold specifies the time threshold of slow request
	SlowTimeThreshold *metav1.Duration `json:"slowTimeThreshold,omitempty"`

	// SlowAmountThreshold specifies the amount threshold of slow request
	SlowAmountThreshold *uint32 `json:"slowAmountThreshold,omitempty"`

	// SlowRatioThreshold specifies the ratio threshold of slow request
	SlowRatioThreshold *float32 `json:"slowRatioThreshold,omitempty"`

	// ErrorAmountThreshold specifies the amount threshold of error request
	ErrorAmountThreshold *uint32 `json:"errorAmountThreshold,omitempty"`

	// ErrorRatioThreshold specifies the ratio threshold of error request
	ErrorRatioThreshold *float32 `json:"errorRatioThreshold,omitempty"`

	// DegradedStatusCode specifies the degraded http status code of circuit breaking
	DegradedStatusCode *int32 `json:"degradedStatusCode,omitempty"`

	// DegradedResponseContent specifies the degraded http response content of circuit breaking
	DegradedResponseContent *string `json:"degradedResponseContent,omitempty"`
}

HTTPCircuitBreaking defines the HTTP Circuit Breaking settings for an upstream host.

func (*HTTPCircuitBreaking) DeepCopy

func (in *HTTPCircuitBreaking) DeepCopy() *HTTPCircuitBreaking

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

func (*HTTPCircuitBreaking) DeepCopyInto

func (in *HTTPCircuitBreaking) DeepCopyInto(out *HTTPCircuitBreaking)

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

type HTTPConnectionSettings

type HTTPConnectionSettings struct {
	// MaxRequests specifies the maximum number of parallel requests
	// allowed to the upstream host.
	// Defaults to 4294967295 (2^32 - 1) if not specified.
	// +optional
	MaxRequests *uint32 `json:"maxRequests,omitempty"`

	// MaxRequestsPerConnection specifies the maximum number of requests
	// per connection allowed to the upstream host.
	// Defaults to unlimited if not specified.
	// +optional
	MaxRequestsPerConnection *uint32 `json:"maxRequestsPerConnection,omitempty"`

	// MaxPendingRequests specifies the maximum number of pending HTTP
	// requests allowed to the upstream host. For HTTP/2 connections,
	// if `maxRequestsPerConnection` is not configured, all requests will
	// be multiplexed over the same connection so this circuit breaker
	// will only be hit when no connection is already established.
	// Defaults to 4294967295 (2^32 - 1) if not specified.
	// +optional
	MaxPendingRequests *uint32 `json:"maxPendingRequests,omitempty"`

	// MaxRetries specifies the maximum number of parallel retries
	// allowed to the upstream host.
	// Defaults to 4294967295 (2^32 - 1) if not specified.
	// +optional
	MaxRetries *uint32 `json:"maxRetries,omitempty"`

	// CircuitBreaking specifies the HTTP connection circuit breaking setting.
	CircuitBreaking *HTTPCircuitBreaking `json:"circuitBreaking,omitempty"`
}

HTTPConnectionSettings defines the HTTP connection settings for an upstream host.

func (*HTTPConnectionSettings) DeepCopy

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

func (*HTTPConnectionSettings) DeepCopyInto

func (in *HTTPConnectionSettings) DeepCopyInto(out *HTTPConnectionSettings)

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

type HTTPHeaderValue

type HTTPHeaderValue struct {
	// Name defines the name of the HTTP header.
	Name string `json:"name"`

	// Value defines the value of the header corresponding to the name key.
	Value string `json:"value"`
}

HTTPHeaderValue defines an HTTP header name/value pair

func (*HTTPHeaderValue) DeepCopy

func (in *HTTPHeaderValue) DeepCopy() *HTTPHeaderValue

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

func (*HTTPHeaderValue) DeepCopyInto

func (in *HTTPHeaderValue) DeepCopyInto(out *HTTPHeaderValue)

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

type HTTPLocalRateLimitSpec

type HTTPLocalRateLimitSpec struct {
	// Requests defines the number of requests allowed
	// per unit of time before rate limiting occurs.
	Requests uint32 `json:"requests"`

	// Unit defines the period of time within which requests
	// over the limit will be rate limited.
	// Valid values are "second", "minute" and "hour".
	Unit string `json:"unit"`

	// Burst defines the number of requests above the baseline
	// rate that are allowed in a short period of time.
	// +optional
	Burst uint32 `json:"burst,omitempty"`

	// ResponseStatusCode defines the HTTP status code to use for responses
	// to rate limited requests. Code must be in the 400-599 (inclusive)
	// error range. If not specified, a default of 429 (Too Many Requests) is used.
	// +optional
	ResponseStatusCode uint32 `json:"responseStatusCode,omitempty"`

	// ResponseHeadersToAdd defines the list of HTTP headers that should be
	// added to each response for requests that have been rate limited.
	// +optional
	ResponseHeadersToAdd []HTTPHeaderValue `json:"responseHeadersToAdd,omitempty"`
}

HTTPLocalRateLimitSpec defines the local rate limiting specification for the upstream host at the HTTP level.

func (*HTTPLocalRateLimitSpec) DeepCopy

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

func (*HTTPLocalRateLimitSpec) DeepCopyInto

func (in *HTTPLocalRateLimitSpec) DeepCopyInto(out *HTTPLocalRateLimitSpec)

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

type HTTPPerRouteRateLimitSpec

type HTTPPerRouteRateLimitSpec struct {
	// Local defines the local rate limiting specification
	// applied per HTTP route.
	Local *HTTPLocalRateLimitSpec `json:"local,omitempty"`
}

HTTPPerRouteRateLimitSpec defines the rate limiting specification per HTTP route.

func (*HTTPPerRouteRateLimitSpec) DeepCopy

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

func (*HTTPPerRouteRateLimitSpec) DeepCopyInto

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

type HTTPRouteSpec

type HTTPRouteSpec struct {
	// Path defines the HTTP path.
	Path string `json:"path"`

	// RateLimit defines the HTTP rate limiting specification for
	// the specified HTTP route.
	RateLimit *HTTPPerRouteRateLimitSpec `json:"rateLimit,omitempty"`
}

HTTPRouteSpec defines the settings corresponding to an HTTP route

func (*HTTPRouteSpec) DeepCopy

func (in *HTTPRouteSpec) DeepCopy() *HTTPRouteSpec

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

func (*HTTPRouteSpec) DeepCopyInto

func (in *HTTPRouteSpec) DeepCopyInto(out *HTTPRouteSpec)

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

type IngressBackend

type IngressBackend struct {
	// Object's type metadata
	metav1.TypeMeta `json:",inline"`

	// Object's metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the Ingress backend policy specification
	// +optional
	Spec IngressBackendSpec `json:"spec,omitempty"`

	// Status is the status of the IngressBackend configuration.
	// +optional
	Status IngressBackendStatus `json:"status,omitempty"`
}

IngressBackend is the type used to represent an Ingress backend policy. An Ingress backend policy authorizes one or more backends to accept ingress traffic from one or more sources. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:metadata:labels=app.kubernetes.io/name=flomesh.io +kubebuilder:resource:shortName=ingressbackend,scope=Namespaced

func (*IngressBackend) DeepCopy

func (in *IngressBackend) DeepCopy() *IngressBackend

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

func (*IngressBackend) DeepCopyInto

func (in *IngressBackend) DeepCopyInto(out *IngressBackend)

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

func (*IngressBackend) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressBackendList

type IngressBackendList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []IngressBackend `json:"items"`
}

IngressBackendList defines the list of IngressBackend objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*IngressBackendList) DeepCopy

func (in *IngressBackendList) DeepCopy() *IngressBackendList

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

func (*IngressBackendList) DeepCopyInto

func (in *IngressBackendList) DeepCopyInto(out *IngressBackendList)

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

func (*IngressBackendList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressBackendSpec

type IngressBackendSpec struct {
	// Backends defines the list of backends the IngressBackend policy applies to.
	Backends []BackendSpec `json:"backends"`

	// Sources defines the list of sources the IngressBackend policy applies to.
	Sources []IngressSourceSpec `json:"sources"`

	// Matches defines the list of object references the IngressBackend policy should match on.
	// +optional
	Matches []corev1.TypedLocalObjectReference `json:"matches,omitempty"`
}

IngressBackendSpec is the type used to represent the IngressBackend policy specification.

func (*IngressBackendSpec) DeepCopy

func (in *IngressBackendSpec) DeepCopy() *IngressBackendSpec

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

func (*IngressBackendSpec) DeepCopyInto

func (in *IngressBackendSpec) DeepCopyInto(out *IngressBackendSpec)

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

type IngressBackendStatus

type IngressBackendStatus struct {
	// CurrentStatus defines the current status of an IngressBackend resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

	// Reason defines the reason for the current status of an IngressBackend resource.
	// +optional
	Reason string `json:"reason,omitempty"`
}

IngressBackendStatus is the type used to represent the status of an IngressBackend resource.

func (*IngressBackendStatus) DeepCopy

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

func (*IngressBackendStatus) DeepCopyInto

func (in *IngressBackendStatus) DeepCopyInto(out *IngressBackendStatus)

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

type IngressSourceSpec

type IngressSourceSpec struct {
	// Kind defines the kind for the source in the IngressBackend policy.
	// Must be one of: Service, AuthenticatedPrincipal, IPRange
	Kind string `json:"kind"`

	// Name defines the name of the source for the given Kind.
	Name string `json:"name"`

	// Namespace defines the namespace for the given source.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

IngressSourceSpec is the type used to represent the Source in the list of Sources specified in an IngressBackend policy specification.

func (*IngressSourceSpec) DeepCopy

func (in *IngressSourceSpec) DeepCopy() *IngressSourceSpec

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

func (*IngressSourceSpec) DeepCopyInto

func (in *IngressSourceSpec) DeepCopyInto(out *IngressSourceSpec)

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

type LocalRateLimitSpec

type LocalRateLimitSpec struct {
	// TCP defines the local rate limiting specification at the network
	// level. This is a token bucket rate limiter where each connection
	// consumes a single token. If the token is available, the connection
	// will be allowed. If no tokens are available, the connection will be
	// immediately closed.
	// +optional
	TCP *TCPLocalRateLimitSpec `json:"tcp,omitempty"`

	// HTTP defines the local rate limiting specification for HTTP traffic.
	// This is a token bucket rate limiter where each request consumes
	// a single token. If the token is available, the request will be
	// allowed. If no tokens are available, the request will receive the
	// configured rate limit status.
	HTTP *HTTPLocalRateLimitSpec `json:"http,omitempty"`
}

LocalRateLimitSpec defines the local rate limiting specification for the upstream host.

func (*LocalRateLimitSpec) DeepCopy

func (in *LocalRateLimitSpec) DeepCopy() *LocalRateLimitSpec

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

func (*LocalRateLimitSpec) DeepCopyInto

func (in *LocalRateLimitSpec) DeepCopyInto(out *LocalRateLimitSpec)

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

type PortSpec

type PortSpec struct {
	// Number defines the port number.
	Number int `json:"number"`

	// Protocol defines the protocol served by the port.
	Protocol string `json:"protocol"`
}

PortSpec is the type used to represent the Port in the list of Ports specified in an Egress policy specification.

func (*PortSpec) DeepCopy

func (in *PortSpec) DeepCopy() *PortSpec

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

func (*PortSpec) DeepCopyInto

func (in *PortSpec) DeepCopyInto(out *PortSpec)

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

type RateLimitSpec

type RateLimitSpec struct {
	// Local specified the local rate limiting specification
	// for the upstream host.
	// Local rate limiting is enforced directly by the upstream
	// host without any involvement of a global rate limiting service.
	// This is applied as a token bucket rate limiter.
	// +optional
	Local *LocalRateLimitSpec `json:"local,omitempty"`
}

RateLimitSpec defines the rate limiting specification for the upstream host.

func (*RateLimitSpec) DeepCopy

func (in *RateLimitSpec) DeepCopy() *RateLimitSpec

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

func (*RateLimitSpec) DeepCopyInto

func (in *RateLimitSpec) DeepCopyInto(out *RateLimitSpec)

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

type Retry

type Retry struct {
	// Object's type metadata
	metav1.TypeMeta `json:",inline"`

	// Object's metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the Retry policy specification
	// +optional
	Spec RetrySpec `json:"spec,omitempty"`
}

Retry is the type used to represent a Retry policy. A Retry policy authorizes retries to failed attempts for outbound traffic from one service source to one or more destination services. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:metadata:labels=app.kubernetes.io/name=flomesh.io +kubebuilder:resource:shortName=retry,scope=Namespaced

func (*Retry) DeepCopy

func (in *Retry) DeepCopy() *Retry

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

func (*Retry) DeepCopyInto

func (in *Retry) DeepCopyInto(out *Retry)

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

func (*Retry) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RetryList

type RetryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Retry `json:"items"`
}

RetryList defines the list of Retry objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*RetryList) DeepCopy

func (in *RetryList) DeepCopy() *RetryList

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

func (*RetryList) DeepCopyInto

func (in *RetryList) DeepCopyInto(out *RetryList)

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

func (*RetryList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RetryPolicySpec

type RetryPolicySpec struct {
	// RetryOn defines the policies to retry on, delimited by comma.
	RetryOn string `json:"retryOn"`

	// PerTryTimeout defines the time allowed for a retry before it's considered a failed attempt.
	// +optional
	PerTryTimeout *metav1.Duration `json:"perTryTimeout"`

	// NumRetries defines the max number of retries to attempt.
	// +optional
	NumRetries *uint32 `json:"numRetries"`

	// RetryBackoffBaseInterval defines the base interval for exponential retry backoff.
	// +optional
	RetryBackoffBaseInterval *metav1.Duration `json:"retryBackoffBaseInterval"`
}

RetryPolicySpec is the type used to represent the retry policy specified in the Retry policy specification.

func (*RetryPolicySpec) DeepCopy

func (in *RetryPolicySpec) DeepCopy() *RetryPolicySpec

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

func (*RetryPolicySpec) DeepCopyInto

func (in *RetryPolicySpec) DeepCopyInto(out *RetryPolicySpec)

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

type RetrySpec

type RetrySpec struct {
	// Source defines the source the Retry policy applies to.
	Source RetrySrcDstSpec `json:"source"`

	// Destinations defines the list of destinations the Retry policy applies to.
	Destinations []RetrySrcDstSpec `json:"destinations"`

	// RetryPolicy defines the retry policy the Retry policy applies.
	RetryPolicy RetryPolicySpec `json:"retryPolicy"`
}

RetrySpec is the type used to represent the Retry policy specification.

func (*RetrySpec) DeepCopy

func (in *RetrySpec) DeepCopy() *RetrySpec

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

func (*RetrySpec) DeepCopyInto

func (in *RetrySpec) DeepCopyInto(out *RetrySpec)

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

type RetrySrcDstSpec

type RetrySrcDstSpec struct {
	// Kind defines the kind for the Src/Dst in the Retry policy.
	Kind string `json:"kind"`

	// Name defines the name of the Src/Dst for the given Kind.
	Name string `json:"name"`

	// Namespace defines the namespace for the given Src/Dst.
	Namespace string `json:"namespace"`
}

RetrySrcDstSpec is the type used to represent the Destination in the list of Destinations and the Source specified in the Retry policy specification.

func (*RetrySrcDstSpec) DeepCopy

func (in *RetrySrcDstSpec) DeepCopy() *RetrySrcDstSpec

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

func (*RetrySrcDstSpec) DeepCopyInto

func (in *RetrySrcDstSpec) DeepCopyInto(out *RetrySrcDstSpec)

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

type TCPConnectionSettings

type TCPConnectionSettings struct {
	// MaxConnections specifies the maximum number of TCP connections
	// allowed to the upstream host.
	// Defaults to 4294967295 (2^32 - 1) if not specified.
	// +optional
	MaxConnections *uint32 `json:"maxConnections,omitempty"`

	// ConnectTimeout specifies the TCP connection timeout.
	// Defaults to 5s if not specified.
	// +optional
	ConnectTimeout *metav1.Duration `json:"connectTimeout,omitempty"`
}

TCPConnectionSettings defines the TCP connection settings for an upstream host.

func (*TCPConnectionSettings) DeepCopy

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

func (*TCPConnectionSettings) DeepCopyInto

func (in *TCPConnectionSettings) DeepCopyInto(out *TCPConnectionSettings)

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

type TCPLocalRateLimitSpec

type TCPLocalRateLimitSpec struct {
	// Connections defines the number of connections allowed
	// per unit of time before rate limiting occurs.
	Connections uint32 `json:"connections"`

	// Unit defines the period of time within which connections
	// over the limit will be rate limited.
	// Valid values are "second", "minute" and "hour".
	Unit string `json:"unit"`

	// Burst defines the number of connections above the baseline
	// rate that are allowed in a short period of time.
	// +optional
	Burst uint32 `json:"burst,omitempty"`
}

TCPLocalRateLimitSpec defines the local rate limiting specification for the upstream host at the TCP level.

func (*TCPLocalRateLimitSpec) DeepCopy

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

func (*TCPLocalRateLimitSpec) DeepCopyInto

func (in *TCPLocalRateLimitSpec) DeepCopyInto(out *TCPLocalRateLimitSpec)

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

type TLSSpec

type TLSSpec struct {
	// SkipClientCertValidation defines whether the backend should skip validating the
	// certificate presented by the client.
	SkipClientCertValidation bool `json:"skipClientCertValidation"`

	// SNIHosts defines the SNI hostnames that the backend allows the client to connect to.
	// +optional
	SNIHosts []string `json:"sniHosts,omitempty"`
}

TLSSpec is the type used to represent the backend's TLS configuration.

func (*TLSSpec) DeepCopy

func (in *TLSSpec) DeepCopy() *TLSSpec

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

func (*TLSSpec) DeepCopyInto

func (in *TLSSpec) DeepCopyInto(out *TLSSpec)

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

type UpstreamTrafficSetting

type UpstreamTrafficSetting struct {
	// Object's type metadata
	metav1.TypeMeta `json:",inline"`

	// Object's metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the UpstreamTrafficSetting policy specification
	// +optional
	Spec UpstreamTrafficSettingSpec `json:"spec,omitempty"`

	// Status is the status of the UpstreamTrafficSetting resource.
	// +optional
	Status UpstreamTrafficSettingStatus `json:"status,omitempty"`
}

UpstreamTrafficSetting defines the settings applicable to traffic destined to an upstream host. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:metadata:labels=app.kubernetes.io/name=flomesh.io +kubebuilder:resource:shortName=upstreamtrafficsetting,scope=Namespaced

func (*UpstreamTrafficSetting) DeepCopy

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

func (*UpstreamTrafficSetting) DeepCopyInto

func (in *UpstreamTrafficSetting) DeepCopyInto(out *UpstreamTrafficSetting)

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

func (*UpstreamTrafficSetting) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type UpstreamTrafficSettingList

type UpstreamTrafficSettingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []UpstreamTrafficSetting `json:"items"`
}

UpstreamTrafficSettingList defines the list of UpstreamTrafficSetting objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*UpstreamTrafficSettingList) DeepCopy

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

func (*UpstreamTrafficSettingList) DeepCopyInto

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

func (*UpstreamTrafficSettingList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type UpstreamTrafficSettingSpec

type UpstreamTrafficSettingSpec struct {
	// Host the upstream traffic is directed to.
	// Must either be an FQDN corresponding to the upstream service
	// or the name of the upstream service. If only the service name
	// is specified, the FQDN is derived from the service name and
	// the namespace of the UpstreamTrafficSetting rule.
	Host string `json:"host"`

	// ConnectionSettings specifies the connection settings for traffic
	// directed to the upstream host.
	// +optional
	ConnectionSettings *ConnectionSettingsSpec `json:"connectionSettings,omitempty"`

	// RateLimit specifies the rate limit settings for the traffic
	// directed to the upstream host.
	// If HTTP rate limiting is specified, the rate limiting is applied
	// at the VirtualHost level applicable to all routes within the
	// VirtualHost.
	// +optional
	RateLimit *RateLimitSpec `json:"rateLimit,omitempty"`

	// HTTPRoutes defines the list of HTTP routes settings
	// for the upstream host. Settings are applied at a per
	// route level.
	// +optional
	HTTPRoutes []HTTPRouteSpec `json:"httpRoutes,omitempty"`
}

UpstreamTrafficSettingSpec defines the upstream traffic setting specification.

func (*UpstreamTrafficSettingSpec) DeepCopy

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

func (*UpstreamTrafficSettingSpec) DeepCopyInto

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

type UpstreamTrafficSettingStatus

type UpstreamTrafficSettingStatus struct {
	// CurrentStatus defines the current status of an UpstreamTrafficSetting resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

	// Reason defines the reason for the current status of an UpstreamTrafficSetting resource.
	// +optional
	Reason string `json:"reason,omitempty"`
}

UpstreamTrafficSettingStatus defines the status of an UpstreamTrafficSetting resource.

func (*UpstreamTrafficSettingStatus) DeepCopy

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

func (*UpstreamTrafficSettingStatus) DeepCopyInto

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