v1alpha1

package
v1.4.11 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Index

Constants

View Source
const GroupName = "connector.flomesh.io"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Deprecated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AddrSelector

type AddrSelector string

+kubebuilder:validation:Enum=ExternalIP;ClusterIP

const (
	ExternalIP AddrSelector = "ExternalIP"
	ClusterIP  AddrSelector = "ClusterIP"
)

type C2KGateway added in v1.2.4

type C2KGateway struct {
	// +kubebuilder:default=false
	// +optional
	Enable bool `json:"enable,omitempty"`

	// +kubebuilder:default=true
	// +optional
	MultiGateways bool `json:"multiGateways,omitempty"`
}

func (*C2KGateway) DeepCopy added in v1.2.4

func (in *C2KGateway) DeepCopy() *C2KGateway

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

func (*C2KGateway) DeepCopyInto added in v1.2.4

func (in *C2KGateway) DeepCopyInto(out *C2KGateway)

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

type Connector

type Connector interface {
	runtime.Object
	metav1.Object
	GetProvider() DiscoveryServiceProvider
	GetReplicas() *int32
	GetResources() *corev1.ResourceRequirements
	GetImagePullSecrets() []corev1.LocalObjectReference
	GetLeaderElection() *bool
}

type ConsulAuthSpec

type ConsulAuthSpec struct {
	// +kubebuilder:default=""
	// +optional
	Username string `json:"username,omitempty"`

	// +kubebuilder:default=""
	// +optional
	Password string `json:"password,omitempty"`
}

ConsulAuthSpec is the type used to represent the Consul auth specification.

func (*ConsulAuthSpec) DeepCopy

func (in *ConsulAuthSpec) DeepCopy() *ConsulAuthSpec

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

func (*ConsulAuthSpec) DeepCopyInto

func (in *ConsulAuthSpec) DeepCopyInto(out *ConsulAuthSpec)

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

type ConsulConnector

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

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

	// Spec is the Consul Connector specification
	Spec ConsulSpec `json:"spec"`

	// Status is the status of the Consul Connector configuration.
	// +optional
	Status ConsulStatus `json:"status,omitempty"`
}

ConsulConnector is the type used to represent a Consul Connector resource.

func (*ConsulConnector) DeepCopy

func (in *ConsulConnector) DeepCopy() *ConsulConnector

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

func (*ConsulConnector) DeepCopyInto

func (in *ConsulConnector) DeepCopyInto(out *ConsulConnector)

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

func (*ConsulConnector) DeepCopyObject

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

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

func (*ConsulConnector) GetImagePullSecrets added in v1.4.7

func (c *ConsulConnector) GetImagePullSecrets() []corev1.LocalObjectReference

func (*ConsulConnector) GetLeaderElection added in v1.3.8

func (c *ConsulConnector) GetLeaderElection() *bool

func (*ConsulConnector) GetProvider

func (c *ConsulConnector) GetProvider() DiscoveryServiceProvider

func (*ConsulConnector) GetReplicas added in v1.2.2

func (c *ConsulConnector) GetReplicas() *int32

func (*ConsulConnector) GetResources added in v1.2.2

func (c *ConsulConnector) GetResources() *corev1.ResourceRequirements

type ConsulConnectorList

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

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

ConsulConnectorList contains a list of Consul Connectors.

func (*ConsulConnectorList) DeepCopy

func (in *ConsulConnectorList) DeepCopy() *ConsulConnectorList

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

func (*ConsulConnectorList) DeepCopyInto

func (in *ConsulConnectorList) DeepCopyInto(out *ConsulConnectorList)

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

func (*ConsulConnectorList) DeepCopyObject

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

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

type ConsulSpec

type ConsulSpec struct {
	HTTPAddr        string `json:"httpAddr"`
	DeriveNamespace string `json:"deriveNamespace"`

	// +kubebuilder:default=false
	// +optional
	Purge bool `json:"purge,omitempty"`

	// +kubebuilder:default=false
	// +optional
	AsInternalServices bool `json:"asInternalServices,omitempty"`

	// +kubebuilder:default={}
	// +optional
	Auth NacosAuthSpec `json:"auth,omitempty"`

	// +kubebuilder:validation:Format="duration"
	// +kubebuilder:default="5s"
	// +optional
	SyncPeriod  metav1.Duration       `json:"syncPeriod"`
	SyncToK8S   ConsulSyncToK8SSpec   `json:"syncToK8S"`
	SyncFromK8S ConsulSyncFromK8SSpec `json:"syncFromK8S"`

	// +kubebuilder:default={limit:500, burst:750}
	// +optional
	Limiter *Limiter `json:"limiter,omitempty"`

	// Compute Resources required by connector container.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=name
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// +kubebuilder:default=true
	// +optional
	LeaderElection *bool `json:"leaderElection,omitempty"`
}

ConsulSpec is the type used to represent the Consul Connector specification.

func (*ConsulSpec) DeepCopy

func (in *ConsulSpec) DeepCopy() *ConsulSpec

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

func (*ConsulSpec) DeepCopyInto

func (in *ConsulSpec) DeepCopyInto(out *ConsulSpec)

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

type ConsulStatus

type ConsulStatus struct {
	// CurrentStatus defines the current status of a Consul Connector resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

	// Reason defines the reason for the current status of a Consul Connector resource.
	// +optional
	Reason string `json:"reason,omitempty"`

	ToK8SServiceCnt int `json:"toK8SServiceCnt"`

	FromK8SServiceCnt int `json:"fromK8SServiceCnt"`
}

ConsulStatus is the type used to represent the status of a Consul Connector resource.

func (*ConsulStatus) DeepCopy

func (in *ConsulStatus) DeepCopy() *ConsulStatus

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

func (*ConsulStatus) DeepCopyInto

func (in *ConsulStatus) DeepCopyInto(out *ConsulStatus)

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

type ConsulSyncFromK8SSpec

type ConsulSyncFromK8SSpec struct {
	Enable bool `json:"enable"`

	// +kubebuilder:default=true
	// +optional
	DefaultSync bool `json:"defaultSync,omitempty"`

	// +kubebuilder:default=true
	// +optional
	SyncClusterIPServices bool `json:"syncClusterIPServices,omitempty"`

	// +kubebuilder:default=false
	// +optional
	SyncLoadBalancerEndpoints bool `json:"syncLoadBalancerEndpoints,omitempty"`

	// +kubebuilder:default=ExternalOnly
	// +optional
	NodePortSyncType NodePortSyncType `json:"nodePortSyncType"`

	// +kubebuilder:default=false
	// +optional
	SyncIngress bool `json:"syncIngress,omitempty"`

	// +kubebuilder:default=false
	// +optional
	SyncIngressLoadBalancerIPs bool `json:"syncIngressLoadBalancerIPs,omitempty"`

	// +kubebuilder:default=""
	// +optional
	AddServicePrefix string `json:"addServicePrefix,omitempty"`

	// +kubebuilder:default=false
	// +optional
	AddK8SNamespaceAsServiceSuffix bool `json:"addK8SNamespaceAsServiceSuffix,omitempty"`

	// +optional
	AppendTags []string `json:"appendTags,omitempty"`

	// +optional
	AppendMetadatas []Metadata `json:"appendMetadatas,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={"*"}
	// +optional
	AllowK8sNamespaces []string `json:"allowK8sNamespaces,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={""}
	// +optional
	DenyK8sNamespaces []string `json:"denyK8sNamespaces,omitempty"`

	// +optional
	// +optional
	FilterIPRanges []string `json:"filterIpRanges,omitempty"`

	// +optional
	ExcludeIPRanges []string `json:"excludeIpRanges,omitempty"`

	// +kubebuilder:default={enable: false, gatewayMode: forward}
	// +optional
	WithGateway K2CGateway `json:"withGateway,omitempty"`

	// +optional
	ConsulNodeName string `json:"consulNodeName,omitempty"`

	// +kubebuilder:default=false
	// +optional
	ConsulEnableNamespaces bool `json:"consulEnableNamespaces,omitempty"`

	// +kubebuilder:default=default
	// +optional
	ConsulDestinationNamespace string `json:"consulDestinationNamespace,omitempty"`

	// +kubebuilder:default=false
	// +optional
	ConsulEnableK8SNSMirroring bool `json:"consulEnableK8SNSMirroring,omitempty"`

	// +kubebuilder:default=""
	// +optional
	ConsulK8SNSMirroringPrefix string `json:"consulK8SNSMirroringPrefix,omitempty"`

	// +kubebuilder:default=""
	// +optional
	ConsulCrossNamespaceACLPolicy string `json:"consulCrossNamespaceACLPolicy,omitempty"`
}

ConsulSyncFromK8SSpec is the type used to represent the sync from K8S to Consul specification.

func (*ConsulSyncFromK8SSpec) DeepCopy

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

func (*ConsulSyncFromK8SSpec) DeepCopyInto

func (in *ConsulSyncFromK8SSpec) DeepCopyInto(out *ConsulSyncFromK8SSpec)

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

type ConsulSyncToK8SSpec

type ConsulSyncToK8SSpec struct {
	Enable bool `json:"enable"`

	// +kubebuilder:default=""
	// +optional
	ClusterId string `json:"clusterId,omitempty"`

	// +kubebuilder:default=true
	// +optional
	PassingOnly bool `json:"passingOnly,omitempty"`

	// +optional
	FilterIPRanges []string `json:"filterIpRanges,omitempty"`

	// +optional
	ExcludeIPRanges []string `json:"excludeIpRanges,omitempty"`

	// +optional
	FilterTag string `json:"filterTag,omitempty"`

	// +optional
	PrefixTag string `json:"prefixTag,omitempty"`

	// +optional
	SuffixTag string `json:"suffixTag,omitempty"`

	// +optional
	FilterMetadatas []Metadata `json:"filterMetadatas,omitempty"`

	// +optional
	ExcludeMetadatas []Metadata `json:"excludeMetadatas,omitempty"`

	// +optional
	PrefixMetadata string `json:"prefixMetadata,omitempty"`

	// +optional
	SuffixMetadata string `json:"suffixMetadata,omitempty"`

	// +optional
	FixedHTTPServicePort *uint32 `json:"fixedHttpServicePort,omitempty"`

	// +optional
	FixedGRPCServicePort *uint32 `json:"fixedGrpcServicePort,omitempty"`

	// +kubebuilder:default={enable: false, multiGateways: true}
	// +optional
	WithGateway C2KGateway `json:"withGateway,omitempty"`

	// +kubebuilder:default=true
	// +optional
	GenerateInternalServiceHealthCheck bool `json:"generateInternalServiceHealthCheck,omitempty"`
}

ConsulSyncToK8SSpec is the type used to represent the sync from Consul to K8S specification.

func (*ConsulSyncToK8SSpec) DeepCopy

func (in *ConsulSyncToK8SSpec) DeepCopy() *ConsulSyncToK8SSpec

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

func (*ConsulSyncToK8SSpec) DeepCopyInto

func (in *ConsulSyncToK8SSpec) DeepCopyInto(out *ConsulSyncToK8SSpec)

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

type DiscoveryServiceProvider

type DiscoveryServiceProvider string
const (
	//ConsulDiscoveryService defines consul discovery service name
	ConsulDiscoveryService DiscoveryServiceProvider = "consul"

	//EurekaDiscoveryService defines eureka discovery service name
	EurekaDiscoveryService DiscoveryServiceProvider = "eureka"

	//NacosDiscoveryService defines nacos discovery service name
	NacosDiscoveryService DiscoveryServiceProvider = "nacos"

	//MachineDiscoveryService defines machine discovery service name
	MachineDiscoveryService DiscoveryServiceProvider = "machine"

	//GatewayDiscoveryService defines gateway integrated service name
	GatewayDiscoveryService DiscoveryServiceProvider = "gateway"
)

type EgressSelectorSpec

type EgressSelectorSpec struct {
	// +kubebuilder:default=ClusterIP
	// +optional
	IPSelector AddrSelector `json:"ipSelector,omitempty"`

	// +kubebuilder:default=10090
	// +optional
	HTTPPort int32 `json:"httpPort,omitempty"`

	// +optional
	GRPCPort int32 `json:"grpcPort,omitempty"`
}

EgressSelectorSpec is the type used to represent the egress selector specification.

func (*EgressSelectorSpec) DeepCopy

func (in *EgressSelectorSpec) DeepCopy() *EgressSelectorSpec

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

func (*EgressSelectorSpec) DeepCopyInto

func (in *EgressSelectorSpec) DeepCopyInto(out *EgressSelectorSpec)

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

type EurekaConnector

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

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

	// Spec is the Eureka Connector specification
	Spec EurekaSpec `json:"spec"`

	// Status is the status of the Eureka Connector configuration.
	// +optional
	Status EurekaStatus `json:"status,omitempty"`
}

EurekaConnector is the type used to represent a Eureka Connector resource.

func (*EurekaConnector) DeepCopy

func (in *EurekaConnector) DeepCopy() *EurekaConnector

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

func (*EurekaConnector) DeepCopyInto

func (in *EurekaConnector) DeepCopyInto(out *EurekaConnector)

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

func (*EurekaConnector) DeepCopyObject

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

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

func (*EurekaConnector) GetImagePullSecrets added in v1.4.7

func (c *EurekaConnector) GetImagePullSecrets() []corev1.LocalObjectReference

func (*EurekaConnector) GetLeaderElection added in v1.3.8

func (c *EurekaConnector) GetLeaderElection() *bool

func (*EurekaConnector) GetProvider

func (c *EurekaConnector) GetProvider() DiscoveryServiceProvider

func (*EurekaConnector) GetReplicas added in v1.2.2

func (c *EurekaConnector) GetReplicas() *int32

func (*EurekaConnector) GetResources added in v1.2.2

func (c *EurekaConnector) GetResources() *corev1.ResourceRequirements

type EurekaConnectorList

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

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

EurekaConnectorList contains a list of Eureka Connectors.

func (*EurekaConnectorList) DeepCopy

func (in *EurekaConnectorList) DeepCopy() *EurekaConnectorList

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

func (*EurekaConnectorList) DeepCopyInto

func (in *EurekaConnectorList) DeepCopyInto(out *EurekaConnectorList)

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

func (*EurekaConnectorList) DeepCopyObject

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

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

type EurekaSpec

type EurekaSpec struct {
	HTTPAddr        string `json:"httpAddr"`
	DeriveNamespace string `json:"deriveNamespace"`

	// +kubebuilder:default=false
	// +optional
	Purge bool `json:"purge,omitempty"`

	// +kubebuilder:default=false
	// +optional
	AsInternalServices bool `json:"asInternalServices,omitempty"`

	// +kubebuilder:validation:Format="duration"
	// +kubebuilder:default="5s"
	// +optional
	SyncPeriod  metav1.Duration       `json:"syncPeriod"`
	SyncToK8S   EurekaSyncToK8SSpec   `json:"syncToK8S"`
	SyncFromK8S EurekaSyncFromK8SSpec `json:"syncFromK8S"`

	// +kubebuilder:default={limit:500, burst:750}
	// +optional
	Limiter *Limiter `json:"Limiter,omitempty"`

	// Compute Resources required by connector container.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=name
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// +kubebuilder:default=true
	// +optional
	LeaderElection *bool `json:"leaderElection,omitempty"`
}

EurekaSpec is the type used to represent the Eureka Connector specification.

func (*EurekaSpec) DeepCopy

func (in *EurekaSpec) DeepCopy() *EurekaSpec

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

func (*EurekaSpec) DeepCopyInto

func (in *EurekaSpec) DeepCopyInto(out *EurekaSpec)

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

type EurekaStatus

type EurekaStatus struct {
	// CurrentStatus defines the current status of a Eureka Connector resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

	// Reason defines the reason for the current status of a Eureka Connector resource.
	// +optional
	Reason string `json:"reason,omitempty"`

	ToK8SServiceCnt int `json:"toK8SServiceCnt"`

	FromK8SServiceCnt int `json:"fromK8SServiceCnt"`
}

EurekaStatus is the type used to represent the status of a Eureka Connector resource.

func (*EurekaStatus) DeepCopy

func (in *EurekaStatus) DeepCopy() *EurekaStatus

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

func (*EurekaStatus) DeepCopyInto

func (in *EurekaStatus) DeepCopyInto(out *EurekaStatus)

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

type EurekaSyncFromK8SSpec

type EurekaSyncFromK8SSpec struct {
	Enable bool `json:"enable"`

	// +kubebuilder:default=true
	// +optional
	HeartBeatInstance bool `json:"heartBeatInstance,omitempty"`

	// +kubebuilder:validation:Format="duration"
	// +kubebuilder:default="3s"
	// +optional
	HeartBeatPeriod metav1.Duration `json:"heartBeatPeriod"`

	// +kubebuilder:default=true
	// +optional
	DefaultSync bool `json:"defaultSync,omitempty"`

	// +kubebuilder:default=true
	// +optional
	SyncClusterIPServices bool `json:"syncClusterIPServices,omitempty"`

	// +kubebuilder:default=false
	// +optional
	SyncLoadBalancerEndpoints bool `json:"syncLoadBalancerEndpoints,omitempty"`

	// +kubebuilder:default=ExternalOnly
	// +optional
	NodePortSyncType NodePortSyncType `json:"nodePortSyncType"`

	// +kubebuilder:default=false
	// +optional
	SyncIngress bool `json:"syncIngress,omitempty"`

	// +kubebuilder:default=false
	// +optional
	SyncIngressLoadBalancerIPs bool `json:"syncIngressLoadBalancerIPs,omitempty"`

	// +kubebuilder:default=""
	// +optional
	AddServicePrefix string `json:"addServicePrefix,omitempty"`

	// +kubebuilder:default=false
	// +optional
	AddK8SNamespaceAsServiceSuffix bool `json:"addK8SNamespaceAsServiceSuffix,omitempty"`

	// +optional
	AppendMetadatas []Metadata `json:"appendMetadatas,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={"*"}
	// +optional
	AllowK8sNamespaces []string `json:"allowK8sNamespaces,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={""}
	// +optional
	DenyK8sNamespaces []string `json:"denyK8sNamespaces,omitempty"`

	// +optional
	// +optional
	FilterIPRanges []string `json:"filterIpRanges,omitempty"`

	// +optional
	ExcludeIPRanges []string `json:"excludeIpRanges,omitempty"`

	// +kubebuilder:default=true
	// +optional
	CheckServiceInstanceID bool `json:"checkServiceInstanceId,omitempty"`

	// +kubebuilder:default={enable: false, gatewayMode: forward}
	// +optional
	WithGateway K2CGateway `json:"withGateway,omitempty"`
}

EurekaSyncFromK8SSpec is the type used to represent the sync from K8S to Eureka specification.

func (*EurekaSyncFromK8SSpec) DeepCopy

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

func (*EurekaSyncFromK8SSpec) DeepCopyInto

func (in *EurekaSyncFromK8SSpec) DeepCopyInto(out *EurekaSyncFromK8SSpec)

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

type EurekaSyncToK8SSpec

type EurekaSyncToK8SSpec struct {
	Enable bool `json:"enable"`

	// +kubebuilder:default=""
	// +optional
	ClusterId string `json:"clusterId,omitempty"`

	// +optional
	FilterIPRanges []string `json:"filterIpRanges,omitempty"`

	// +optional
	ExcludeIPRanges []string `json:"excludeIpRanges,omitempty"`

	// +optional
	FilterMetadatas []Metadata `json:"filterMetadatas,omitempty"`

	// +optional
	ExcludeMetadatas []Metadata `json:"excludeMetadatas,omitempty"`

	// +optional
	PrefixMetadata string `json:"prefixMetadata,omitempty"`

	// +optional
	SuffixMetadata string `json:"suffixMetadata,omitempty"`

	// +optional
	FixedHTTPServicePort *uint32 `json:"fixedHttpServicePort,omitempty"`

	// +optional
	FixedGRPCServicePort *uint32 `json:"fixedGrpcServicePort,omitempty"`

	// +kubebuilder:default={enable: false, multiGateways: true}
	// +optional
	WithGateway C2KGateway `json:"withGateway,omitempty"`
}

EurekaSyncToK8SSpec is the type used to represent the sync from Eureka to K8S specification.

func (*EurekaSyncToK8SSpec) DeepCopy

func (in *EurekaSyncToK8SSpec) DeepCopy() *EurekaSyncToK8SSpec

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

func (*EurekaSyncToK8SSpec) DeepCopyInto

func (in *EurekaSyncToK8SSpec) DeepCopyInto(out *EurekaSyncToK8SSpec)

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

type GatewayConnector

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

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

	// Spec is the Gateway Connector specification
	Spec GatewaySpec `json:"spec"`

	// Status is the status of the Gateway Connector configuration.
	// +optional
	Status GatewayStatus `json:"status,omitempty"`
}

GatewayConnector is the type used to represent a Gateway Connector resource.

func (*GatewayConnector) DeepCopy

func (in *GatewayConnector) DeepCopy() *GatewayConnector

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

func (*GatewayConnector) DeepCopyInto

func (in *GatewayConnector) DeepCopyInto(out *GatewayConnector)

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

func (*GatewayConnector) DeepCopyObject

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

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

func (*GatewayConnector) GetImagePullSecrets added in v1.4.7

func (c *GatewayConnector) GetImagePullSecrets() []corev1.LocalObjectReference

func (*GatewayConnector) GetLeaderElection added in v1.3.8

func (c *GatewayConnector) GetLeaderElection() *bool

func (*GatewayConnector) GetProvider

func (c *GatewayConnector) GetProvider() DiscoveryServiceProvider

func (*GatewayConnector) GetReplicas added in v1.2.2

func (c *GatewayConnector) GetReplicas() *int32

func (*GatewayConnector) GetResources added in v1.2.2

func (c *GatewayConnector) GetResources() *corev1.ResourceRequirements

type GatewayConnectorList

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

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

GatewayConnectorList contains a list of Gateway Connectors.

func (*GatewayConnectorList) DeepCopy

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

func (*GatewayConnectorList) DeepCopyInto

func (in *GatewayConnectorList) DeepCopyInto(out *GatewayConnectorList)

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

func (*GatewayConnectorList) DeepCopyObject

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

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

type GatewaySpec

type GatewaySpec struct {
	GatewayName string `json:"gatewayName"`

	Ingress IngressSelectorSpec `json:"ingress"`

	Egress IngressSelectorSpec `json:"egress"`

	SyncToFgw SyncToFgwSpec `json:"syncToFgw"`

	// Compute Resources required by connector container.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=name
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// +kubebuilder:default=true
	// +optional
	LeaderElection *bool `json:"leaderElection,omitempty"`
}

GatewaySpec is the type used to represent the Gateway Connector specification.

func (*GatewaySpec) DeepCopy

func (in *GatewaySpec) DeepCopy() *GatewaySpec

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

func (*GatewaySpec) DeepCopyInto

func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)

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

type GatewayStatus

type GatewayStatus struct {
	// CurrentStatus defines the current status of a Gateway Connector resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

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

GatewayStatus is the type used to represent the status of a Gateway Connector resource.

func (*GatewayStatus) DeepCopy

func (in *GatewayStatus) DeepCopy() *GatewayStatus

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

func (*GatewayStatus) DeepCopyInto

func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus)

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

type IngressSelectorSpec

type IngressSelectorSpec struct {
	// +kubebuilder:default=ExternalIP
	// +optional
	IPSelector AddrSelector `json:"ipSelector,omitempty"`

	// +kubebuilder:default=10080
	// +optional
	HTTPPort int32 `json:"httpPort,omitempty"`

	// +optional
	GRPCPort int32 `json:"grpcPort,omitempty"`
}

IngressSelectorSpec is the type used to represent the ingress selector specification.

func (*IngressSelectorSpec) DeepCopy

func (in *IngressSelectorSpec) DeepCopy() *IngressSelectorSpec

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

func (*IngressSelectorSpec) DeepCopyInto

func (in *IngressSelectorSpec) DeepCopyInto(out *IngressSelectorSpec)

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

type K2CGateway added in v1.2.4

type K2CGateway struct {
	// +kubebuilder:default=false
	// +optional
	Enable bool `json:"enable,omitempty"`

	// +kubebuilder:default=forward
	// +optional
	GatewayMode WithGatewayMode `json:"gatewayMode,omitempty"`
}

func (*K2CGateway) DeepCopy added in v1.2.4

func (in *K2CGateway) DeepCopy() *K2CGateway

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

func (*K2CGateway) DeepCopyInto added in v1.2.4

func (in *K2CGateway) DeepCopyInto(out *K2CGateway)

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

type Limiter

type Limiter struct {
	Limit uint32 `json:"limit"`
	Burst uint32 `json:"burst"`
}

func (*Limiter) DeepCopy

func (in *Limiter) DeepCopy() *Limiter

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

func (*Limiter) DeepCopyInto

func (in *Limiter) DeepCopyInto(out *Limiter)

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

type MachineConnector

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

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

	// Spec is the Machine Connector specification
	Spec MachineSpec `json:"spec"`

	// Status is the status of the Machine Connector configuration.
	// +optional
	Status MachineStatus `json:"status,omitempty"`
}

MachineConnector is the type used to represent a Machine Connector resource.

func (*MachineConnector) DeepCopy

func (in *MachineConnector) DeepCopy() *MachineConnector

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

func (*MachineConnector) DeepCopyInto

func (in *MachineConnector) DeepCopyInto(out *MachineConnector)

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

func (*MachineConnector) DeepCopyObject

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

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

func (*MachineConnector) GetImagePullSecrets added in v1.4.7

func (c *MachineConnector) GetImagePullSecrets() []corev1.LocalObjectReference

func (*MachineConnector) GetLeaderElection added in v1.3.8

func (c *MachineConnector) GetLeaderElection() *bool

func (*MachineConnector) GetProvider

func (c *MachineConnector) GetProvider() DiscoveryServiceProvider

func (*MachineConnector) GetReplicas added in v1.2.2

func (c *MachineConnector) GetReplicas() *int32

func (*MachineConnector) GetResources added in v1.2.2

func (c *MachineConnector) GetResources() *corev1.ResourceRequirements

type MachineConnectorList

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

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

MachineConnectorList contains a list of Machine Connectors.

func (*MachineConnectorList) DeepCopy

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

func (*MachineConnectorList) DeepCopyInto

func (in *MachineConnectorList) DeepCopyInto(out *MachineConnectorList)

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

func (*MachineConnectorList) DeepCopyObject

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

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

type MachineSpec

type MachineSpec struct {
	DeriveNamespace string `json:"deriveNamespace"`

	// +kubebuilder:default=false
	// +optional
	Purge bool `json:"purge,omitempty"`

	// +kubebuilder:default=false
	// +optional
	AsInternalServices bool `json:"asInternalServices,omitempty"`

	SyncToK8S MachineSyncToK8SSpec `json:"syncToK8S"`

	// Compute Resources required by connector container.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=name
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// +kubebuilder:default=true
	// +optional
	LeaderElection *bool `json:"leaderElection,omitempty"`
}

MachineSpec is the type used to represent the Machine Connector specification.

func (*MachineSpec) DeepCopy

func (in *MachineSpec) DeepCopy() *MachineSpec

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

func (*MachineSpec) DeepCopyInto

func (in *MachineSpec) DeepCopyInto(out *MachineSpec)

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

type MachineStatus

type MachineStatus struct {
	// CurrentStatus defines the current status of a Machine Connector resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

	// Reason defines the reason for the current status of a Machine Connector resource.
	// +optional
	Reason string `json:"reason,omitempty"`

	ToK8SServiceCnt int `json:"toK8SServiceCnt"`
}

MachineStatus is the type used to represent the status of a Machine Connector resource.

func (*MachineStatus) DeepCopy

func (in *MachineStatus) DeepCopy() *MachineStatus

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

func (*MachineStatus) DeepCopyInto

func (in *MachineStatus) DeepCopyInto(out *MachineStatus)

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

type MachineSyncToK8SSpec

type MachineSyncToK8SSpec struct {
	Enable bool `json:"enable"`

	// +kubebuilder:default=""
	// +optional
	ClusterId string `json:"clusterId,omitempty"`

	// +kubebuilder:default=true
	// +optional
	PassingOnly bool `json:"passingOnly,omitempty"`

	// +optional
	// +optional
	FilterIPRanges []string `json:"filterIpRanges,omitempty"`

	// +optional
	ExcludeIPRanges []string `json:"excludeIpRanges,omitempty"`

	// +kubebuilder:default=""
	// +optional
	FilterLabel string `json:"filterLabel,omitempty"`

	// +kubebuilder:default=""
	// +optional
	PrefixLabel string `json:"prefixLabel,omitempty"`

	// +kubebuilder:default=""
	// +optional
	SuffixLabel string `json:"suffixLabel,omitempty"`

	// +kubebuilder:default={enable: false, multiGateways: true}
	// +optional
	WithGateway C2KGateway `json:"withGateway,omitempty"`
}

MachineSyncToK8SSpec is the type used to represent the sync from Machine to K8S specification.

func (*MachineSyncToK8SSpec) DeepCopy

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

func (*MachineSyncToK8SSpec) DeepCopyInto

func (in *MachineSyncToK8SSpec) DeepCopyInto(out *MachineSyncToK8SSpec)

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

type Metadata

type Metadata struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

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.

type NacosAuthSpec

type NacosAuthSpec struct {
	// +kubebuilder:default=""
	// +optional
	Username string `json:"username,omitempty"`

	// +kubebuilder:default=""
	// +optional
	Password string `json:"password,omitempty"`

	// +kubebuilder:default=""
	// +optional
	AccessKey string `json:"accessKey,omitempty"`

	// +kubebuilder:default=""
	// +optional
	SecretKey string `json:"secretKey,omitempty"`

	// +kubebuilder:default=public
	// +optional
	NamespaceId string `json:"namespaceId,omitempty"`
}

NacosAuthSpec is the type used to represent the Nacos auth specification.

func (*NacosAuthSpec) DeepCopy

func (in *NacosAuthSpec) DeepCopy() *NacosAuthSpec

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

func (*NacosAuthSpec) DeepCopyInto

func (in *NacosAuthSpec) DeepCopyInto(out *NacosAuthSpec)

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

type NacosConnector

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

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

	// Spec is the Nacos Connector specification
	Spec NacosSpec `json:"spec"`

	// Status is the status of the Nacos Connector configuration.
	// +optional
	Status NacosStatus `json:"status,omitempty"`
}

NacosConnector is the type used to represent a Nacos Connector resource.

func (*NacosConnector) DeepCopy

func (in *NacosConnector) DeepCopy() *NacosConnector

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

func (*NacosConnector) DeepCopyInto

func (in *NacosConnector) DeepCopyInto(out *NacosConnector)

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

func (*NacosConnector) DeepCopyObject

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

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

func (*NacosConnector) GetImagePullSecrets added in v1.4.7

func (c *NacosConnector) GetImagePullSecrets() []corev1.LocalObjectReference

func (*NacosConnector) GetLeaderElection added in v1.3.8

func (c *NacosConnector) GetLeaderElection() *bool

func (*NacosConnector) GetProvider

func (c *NacosConnector) GetProvider() DiscoveryServiceProvider

func (*NacosConnector) GetReplicas added in v1.2.2

func (c *NacosConnector) GetReplicas() *int32

func (*NacosConnector) GetResources added in v1.2.2

func (c *NacosConnector) GetResources() *corev1.ResourceRequirements

type NacosConnectorList

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

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

NacosConnectorList contains a list of Nacos Connectors.

func (*NacosConnectorList) DeepCopy

func (in *NacosConnectorList) DeepCopy() *NacosConnectorList

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

func (*NacosConnectorList) DeepCopyInto

func (in *NacosConnectorList) DeepCopyInto(out *NacosConnectorList)

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

func (*NacosConnectorList) DeepCopyObject

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

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

type NacosSpec

type NacosSpec struct {
	HTTPAddr        string `json:"httpAddr"`
	DeriveNamespace string `json:"deriveNamespace"`

	// +kubebuilder:default=false
	// +optional
	Purge bool `json:"purge,omitempty"`

	// +kubebuilder:default=false
	// +optional
	AsInternalServices bool `json:"asInternalServices,omitempty"`

	// +kubebuilder:default={}
	// +optional
	Auth NacosAuthSpec `json:"auth,omitempty"`

	// +kubebuilder:validation:Format="duration"
	// +kubebuilder:default="5s"
	// +optional
	SyncPeriod  metav1.Duration      `json:"syncPeriod"`
	SyncToK8S   NacosSyncToK8SSpec   `json:"syncToK8S"`
	SyncFromK8S NacosSyncFromK8SSpec `json:"syncFromK8S"`

	// +kubebuilder:default={limit:500, burst:750}
	// +optional
	Limiter *Limiter `json:"Limiter,omitempty"`

	// Compute Resources required by connector container.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=name
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// +kubebuilder:default=true
	// +optional
	LeaderElection *bool `json:"leaderElection,omitempty"`
}

NacosSpec is the type used to represent the Nacos Connector specification.

func (*NacosSpec) DeepCopy

func (in *NacosSpec) DeepCopy() *NacosSpec

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

func (*NacosSpec) DeepCopyInto

func (in *NacosSpec) DeepCopyInto(out *NacosSpec)

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

type NacosStatus

type NacosStatus struct {
	// CurrentStatus defines the current status of a Nacos Connector resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

	// Reason defines the reason for the current status of a Nacos Connector resource.
	// +optional
	Reason string `json:"reason,omitempty"`

	ToK8SServiceCnt int `json:"toK8SServiceCnt"`

	FromK8SServiceCnt int `json:"fromK8SServiceCnt"`
}

NacosStatus is the type used to represent the status of a Nacos Connector resource.

func (*NacosStatus) DeepCopy

func (in *NacosStatus) DeepCopy() *NacosStatus

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

func (*NacosStatus) DeepCopyInto

func (in *NacosStatus) DeepCopyInto(out *NacosStatus)

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

type NacosSyncFromK8SSpec

type NacosSyncFromK8SSpec struct {
	Enable bool `json:"enable"`

	// +kubebuilder:default=DEFAULT
	// +optional
	ClusterId string `json:"clusterId,omitempty"`

	// +kubebuilder:default=DEFAULT_GROUP
	// +optional
	GroupId string `json:"groupId,omitempty"`

	// +kubebuilder:default=true
	// +optional
	DefaultSync bool `json:"defaultSync,omitempty"`

	// +kubebuilder:default=true
	// +optional
	SyncClusterIPServices bool `json:"syncClusterIPServices,omitempty"`

	// +kubebuilder:default=false
	// +optional
	SyncLoadBalancerEndpoints bool `json:"syncLoadBalancerEndpoints,omitempty"`

	// +kubebuilder:default=ExternalOnly
	// +optional
	NodePortSyncType NodePortSyncType `json:"nodePortSyncType"`

	// +kubebuilder:default=false
	// +optional
	SyncIngress bool `json:"syncIngress,omitempty"`

	// +kubebuilder:default=false
	// +optional
	SyncIngressLoadBalancerIPs bool `json:"syncIngressLoadBalancerIPs,omitempty"`

	// +kubebuilder:default=""
	// +optional
	AddServicePrefix string `json:"addServicePrefix,omitempty"`

	// +kubebuilder:default=false
	// +optional
	AddK8SNamespaceAsServiceSuffix bool `json:"addK8SNamespaceAsServiceSuffix,omitempty"`

	// +optional
	AppendMetadatas []Metadata `json:"appendMetadatas,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={"*"}
	// +optional
	AllowK8sNamespaces []string `json:"allowK8sNamespaces,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={""}
	// +optional
	DenyK8sNamespaces []string `json:"denyK8sNamespaces,omitempty"`

	// +optional
	// +optional
	FilterIPRanges []string `json:"filterIpRanges,omitempty"`

	// +optional
	ExcludeIPRanges []string `json:"excludeIpRanges,omitempty"`

	// +kubebuilder:default={enable: false, gatewayMode: forward}
	// +optional
	WithGateway K2CGateway `json:"withGateway,omitempty"`
}

NacosSyncFromK8SSpec is the type used to represent the sync from K8S to Nacos specification.

func (*NacosSyncFromK8SSpec) DeepCopy

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

func (*NacosSyncFromK8SSpec) DeepCopyInto

func (in *NacosSyncFromK8SSpec) DeepCopyInto(out *NacosSyncFromK8SSpec)

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

type NacosSyncToK8SSpec

type NacosSyncToK8SSpec struct {
	Enable bool `json:"enable"`

	// +kubebuilder:default=""
	// +optional
	ClusterId string `json:"clusterId,omitempty"`

	// +kubebuilder:default=true
	// +optional
	PassingOnly bool `json:"passingOnly,omitempty"`

	// +optional
	FilterIPRanges []string `json:"filterIpRanges,omitempty"`

	// +optional
	ExcludeIPRanges []string `json:"excludeIpRanges,omitempty"`

	// +optional
	FilterMetadatas []Metadata `json:"filterMetadatas,omitempty"`

	// +optional
	ExcludeMetadatas []Metadata `json:"excludeMetadatas,omitempty"`

	// +optional
	PrefixMetadata string `json:"prefixMetadata,omitempty"`

	// +optional
	SuffixMetadata string `json:"suffixMetadata,omitempty"`

	// +optional
	FixedHTTPServicePort *uint32 `json:"fixedHttpServicePort,omitempty"`

	// +optional
	FixedGRPCServicePort *uint32 `json:"fixedGrpcServicePort,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={"DEFAULT"}
	// +optional
	ClusterSet []string `json:"clusterSet,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={"DEFAULT_GROUP"}
	// +optional
	GroupSet []string `json:"groupSet,omitempty"`

	// +kubebuilder:default={enable: false, multiGateways: true}
	// +optional
	WithGateway C2KGateway `json:"withGateway,omitempty"`
}

NacosSyncToK8SSpec is the type used to represent the sync from Nacos to K8S specification.

func (*NacosSyncToK8SSpec) DeepCopy

func (in *NacosSyncToK8SSpec) DeepCopy() *NacosSyncToK8SSpec

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

func (*NacosSyncToK8SSpec) DeepCopyInto

func (in *NacosSyncToK8SSpec) DeepCopyInto(out *NacosSyncToK8SSpec)

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

type NodePortSyncType

type NodePortSyncType string

+kubebuilder:validation:Enum=ExternalOnly;InternalOnly;ExternalFirst

const (
	// ExternalOnly only sync NodePort services with a node's ExternalIP address.
	// Doesn't sync if an ExternalIP doesn't exist.
	ExternalOnly NodePortSyncType = "ExternalOnly"

	// InternalOnly sync NodePort services using.
	InternalOnly NodePortSyncType = "InternalOnly"

	// ExternalFirst sync with an ExternalIP first, if it doesn't exist, use the
	// node's InternalIP address instead.
	ExternalFirst NodePortSyncType = "ExternalFirst"
)

type SyncToFgwSpec

type SyncToFgwSpec struct {
	Enable bool `json:"enable"`

	// +kubebuilder:default=false
	// +optional
	Purge bool `json:"purge,omitempty"`

	// +kubebuilder:validation:Format="duration"
	// +kubebuilder:default="5s"
	// +optional
	SyncPeriod metav1.Duration `json:"syncPeriod"`

	// +kubebuilder:default=true
	// +optional
	DefaultSync bool `json:"defaultSync,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={"*"}
	// +optional
	AllowK8sNamespaces []string `json:"allowK8sNamespaces,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={""}
	// +optional
	DenyK8sNamespaces []string `json:"denyK8sNamespaces,omitempty"`
}

SyncToFgwSpec is the type used to represent the sync to Gateway specification.

func (*SyncToFgwSpec) DeepCopy

func (in *SyncToFgwSpec) DeepCopy() *SyncToFgwSpec

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

func (*SyncToFgwSpec) DeepCopyInto

func (in *SyncToFgwSpec) DeepCopyInto(out *SyncToFgwSpec)

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

type WithGatewayMode added in v1.2.3

type WithGatewayMode string

+kubebuilder:validation:Enum=proxy;forward

const (
	Proxy   WithGatewayMode = "proxy"
	Forward WithGatewayMode = "forward"
)

Jump to

Keyboard shortcuts

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