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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppPod.
func (*AppPod) DeepCopyInto ¶
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 ¶
func (in *ExternalGatewayConfig) DeepCopy() *ExternalGatewayConfig
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 ¶
func (in *ExternalGatewayConfigOptions) DeepCopy() *ExternalGatewayConfigOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalGatewayConfigOptions.
func (*ExternalGatewayConfigOptions) DeepCopyInto ¶
func (in *ExternalGatewayConfigOptions) DeepCopyInto(out *ExternalGatewayConfigOptions)
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 ¶
func (in *NamespaceIsolationProfile) DeepCopy() *NamespaceIsolationProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceIsolationProfile.
func (*NamespaceIsolationProfile) DeepCopyInto ¶
func (in *NamespaceIsolationProfile) DeepCopyInto(out *NamespaceIsolationProfile)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Slice.
func (*Slice) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Slice) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SliceList.
func (*SliceList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SliceList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SliceSpec.
func (*SliceSpec) DeepCopyInto ¶
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.