v1beta1

package
v0.2.3-alpha Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the mesh v1beta1 API group +kubebuilder:object:generate=true +groupName=networking.kubeslice.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "networking.kubeslice.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AppPod

type AppPod struct {
	// PodName is App Pod Name
	PodName string `json:"podName,omitempty"`
	// PodNamespace is App Pod Namespace
	PodNamespace string `json:"podNamespace,omitempty"`
	// PodIP is App Pod IP
	PodIP string `json:"podIp,omitempty"`
	// NsmIP is the nsm ip of App
	NsmIP string `json:"nsmIp,omitempty"`
	// NsmInterface is the nsm interface of App
	NsmInterface string `json:"nsmInterface,omitempty"`
	// PeerIp is the nsm peer ip of gateway
	NsmPeerIP string `json:"nsmPeerIp,omitempty"`
}

AppPod defines the app pods connected to slice

func (*AppPod) DeepCopy

func (in *AppPod) DeepCopy() *AppPod

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

func (*AppPod) DeepCopyInto

func (in *AppPod) DeepCopyInto(out *AppPod)

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

type ExternalGatewayConfig

type ExternalGatewayConfig struct {
	Ingress          *ExternalGatewayConfigOptions    `json:"ingress,omitempty"`
	Egress           *ExternalGatewayConfigOptions    `json:"egress,omitempty"`
	NsIngress        *ExternalGatewayConfigOptions    `json:"nsIngress,omitempty"`
	GatewayType      controllerv1alpha1.GatewayType   `json:"gatewayType,omitempty"`
	VPCServiceAccess controllerv1alpha1.ServiceAccess `json:"vpcServiceAccess,omitempty"`
}

ExternalGatewayConfig determines istio ingress/egress configuration

func (*ExternalGatewayConfig) DeepCopy

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

func (*ExternalGatewayConfig) DeepCopyInto

func (in *ExternalGatewayConfig) DeepCopyInto(out *ExternalGatewayConfig)

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

type ExternalGatewayConfigOptions

type ExternalGatewayConfigOptions struct {
	Enabled bool `json:"enabled,omitempty"`
}

func (*ExternalGatewayConfigOptions) DeepCopy

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

func (*ExternalGatewayConfigOptions) DeepCopyInto

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

type NamespaceIsolationProfile

type NamespaceIsolationProfile struct {
	// Enable Namespace Isolation in the slice
	// +kubebuilder:default:=false
	IsolationEnabled bool `json:"isolationEnabled,omitempty"`
	//Application namespaces is a list of namespaces that are bound to the slice
	ApplicationNamespaces []string `json:"applicationNamespaces,omitempty"`
	//Allowed namespaces is a list of namespaces that can send and receive traffic to app namespaces
	AllowedNamespaces []string `json:"allowedNamespaces,omitempty"`
}

NamespaceIsolationProfile defines the namespace isolation policy for the slice

func (*NamespaceIsolationProfile) DeepCopy

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

func (*NamespaceIsolationProfile) DeepCopyInto

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

type QosProfileDetails

type QosProfileDetails struct {
	// Queue Type
	QueueType string `json:"queueType,omitempty"`
	// Bandwidth Ceiling eg:5000
	BandwidthCeilingKbps int `json:"bandwidthCeilingKbps,omitempty"`
	// Bandwidth Guaranteed eg:4000
	BandwidthGuaranteedKbps int `json:"bandwidthGuaranteedKbps,omitempty"`
	// Priority 0-3
	Priority int `json:"priority,omitempty"`
	// DSCP code for inter cluster traffic
	DscpClass string `json:"dscpClass,omitempty"`
	// TC type
	TcType string `json:"tcType,omitempty"`
}

QosProfileDetails is the QOS Profile for the slice

func (*QosProfileDetails) DeepCopy

func (in *QosProfileDetails) DeepCopy() *QosProfileDetails

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

func (*QosProfileDetails) DeepCopyInto

func (in *QosProfileDetails) DeepCopyInto(out *QosProfileDetails)

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

type Slice

type Slice struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SliceSpec   `json:"spec,omitempty"`
	Status SliceStatus `json:"status,omitempty"`
}

Slice is the Schema for the slices API

func (*Slice) DeepCopy

func (in *Slice) DeepCopy() *Slice

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

func (*Slice) DeepCopyInto

func (in *Slice) DeepCopyInto(out *Slice)

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

func (*Slice) DeepCopyObject

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

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

type SliceConfig

type SliceConfig struct {
	// UUID of the slice.
	SliceID string `json:"sliceId"`
	// display name of the slice.
	SliceDisplayName string `json:"sliceDisplayName"`
	// IP subnet range of the slice.
	SliceSubnet string `json:"sliceSubnet,omitempty"`
	// Type of the slice.
	SliceType string `json:"sliceType"`
	// QOS profile details
	QosProfileDetails QosProfileDetails `json:"qosProfileDetails,omitempty"`
	// IPAM configuration for the slice
	SliceIpam SliceIpamConfig `json:"sliceIpam,omitempty"`
	// ExternalGatewayConfig determines istio ingress/egress configuration
	ExternalGatewayConfig *ExternalGatewayConfig `json:"externalGatewayConfig,omitempty"`
	// Namespace Isolation profile contains fields related to namespace binding to slice
	NamespaceIsolationProfile *NamespaceIsolationProfile `json:"namespaceIsolationProfile,omitempty"`
	//ClusterSubnetCIDR is the subnet to be used by the current cluster
	ClusterSubnetCIDR string `json:"clusterSubnetCIDR,omitempty"`
	// SliceGateway Service Type
	SliceGatewayServiceType string `json:"sliceGatewayServiceType,omitempty"`
	// SliceGateway Protocol Type: UDP or TCP
	SliceGatewayProtocol string `json:"sliceGatewayProtocol,omitempty"`
	// Slice overlay network deployment mode: single-network, multi-network or no-network
	SliceOverlayNetworkDeploymentMode controllerv1alpha1.NetworkType `json:"sliceOverlayNetworkDeploymentMode,omitempty"`
}

SliceConfig defines the Config retrieved from Hub

func (*SliceConfig) DeepCopy

func (in *SliceConfig) DeepCopy() *SliceConfig

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

func (*SliceConfig) DeepCopyInto

func (in *SliceConfig) DeepCopyInto(out *SliceConfig)

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

type SliceIpamConfig

type SliceIpamConfig struct {
	// IPAM Type for slice
	SliceIpamType string `json:"sliceIpamType"`
	// Cluster specific octet for IPAM root subnet
	IpamClusterOctet int `json:"ipamClusterOctet,omitempty"`
}

func (*SliceIpamConfig) DeepCopy

func (in *SliceIpamConfig) DeepCopy() *SliceIpamConfig

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

func (*SliceIpamConfig) DeepCopyInto

func (in *SliceIpamConfig) DeepCopyInto(out *SliceIpamConfig)

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

type SliceList

type SliceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Slice `json:"items"`
}

SliceList contains a list of Slice

func (*SliceList) DeepCopy

func (in *SliceList) DeepCopy() *SliceList

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

func (*SliceList) DeepCopyInto

func (in *SliceList) DeepCopyInto(out *SliceList)

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

func (*SliceList) DeepCopyObject

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

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

type SliceSpec

type SliceSpec struct {
}

SliceSpec defines the desired state of Slice

func (*SliceSpec) DeepCopy

func (in *SliceSpec) DeepCopy() *SliceSpec

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

func (*SliceSpec) DeepCopyInto

func (in *SliceSpec) DeepCopyInto(out *SliceSpec)

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

type SliceStatus

type SliceStatus struct {
	// SliceConfig is the spec for slice received from hub cluster
	SliceConfig *SliceConfig `json:"sliceConfig,omitempty"`
	// DNSIP is the IP of Coredns server
	DNSIP string `json:"dnsIP,omitempty"`
	// AppPods contains the list of app pods connected to the slice
	AppPods []AppPod `json:"appPods,omitempty"`
	// AppPodsUpdatedOn is the time when app pods list was updated
	AppPodsUpdatedOn int64 `json:"appPodsUpdatedOn,omitempty"`
	// NetworkPoliciesInstalled defines whether the netpol are installed in atleast one applicationNamespace
	// +kubebuilder:default:=false
	NetworkPoliciesInstalled bool `json:"networkPoliciesInstalled,omitempty"`
	// Slice Application Namespace list
	ApplicationNamespaces []string `json:"applicationNamespaces,omitempty"`
	// Slice Allowed Namespace list
	AllowedNamespaces []string `json:"allowedNamespaces,omitempty"`
}

SliceStatus defines the observed state of Slice

func (*SliceStatus) DeepCopy

func (in *SliceStatus) DeepCopy() *SliceStatus

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

func (*SliceStatus) DeepCopyInto

func (in *SliceStatus) DeepCopyInto(out *SliceStatus)

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