206 lines
8.0 KiB
YAML
206 lines
8.0 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.7.0
|
|
creationTimestamp: null
|
|
name: slices.networking.kubeslice.io
|
|
spec:
|
|
group: networking.kubeslice.io
|
|
names:
|
|
kind: Slice
|
|
listKind: SliceList
|
|
plural: slices
|
|
singular: slice
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Slice is the Schema for the slices API
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation
|
|
of an object. Servers should convert recognized schemas to the latest
|
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this
|
|
object represents. Servers may infer this from the endpoint the client
|
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: SliceSpec defines the desired state of Slice
|
|
type: object
|
|
status:
|
|
description: SliceStatus defines the observed state of Slice
|
|
properties:
|
|
allowedNamespaces:
|
|
description: Slice Allowed Namespace list
|
|
items:
|
|
type: string
|
|
type: array
|
|
appPods:
|
|
description: AppPods contains the list of app pods connected to the
|
|
slice
|
|
items:
|
|
description: AppPod defines the app pods connected to slice
|
|
properties:
|
|
nsmInterface:
|
|
description: NsmInterface is the nsm interface of App
|
|
type: string
|
|
nsmIp:
|
|
description: NsmIP is the nsm ip of App
|
|
type: string
|
|
nsmPeerIp:
|
|
description: PeerIp is the nsm peer ip of gateway
|
|
type: string
|
|
podIp:
|
|
description: PodIP is App Pod IP
|
|
type: string
|
|
podName:
|
|
description: PodName is App Pod Name
|
|
type: string
|
|
podNamespace:
|
|
description: PodNamespace is App Pod Namespace
|
|
type: string
|
|
type: object
|
|
type: array
|
|
appPodsUpdatedOn:
|
|
description: AppPodsUpdatedOn is the time when app pods list was updated
|
|
format: int64
|
|
type: integer
|
|
applicationNamespaces:
|
|
description: Slice Application Namespace list
|
|
items:
|
|
type: string
|
|
type: array
|
|
dnsIP:
|
|
description: DNSIP is the IP of Coredns server
|
|
type: string
|
|
networkPoliciesInstalled:
|
|
default: false
|
|
description: NetworkPoliciesInstalled defines whether the netpol are
|
|
installed in atleast one applicationNamespace
|
|
type: boolean
|
|
sliceConfig:
|
|
description: SliceConfig is the spec for slice received from hub cluster
|
|
properties:
|
|
clusterSubnetCIDR:
|
|
description: ClusterSubnetCIDR is the subnet to be used by the
|
|
current cluster
|
|
type: string
|
|
externalGatewayConfig:
|
|
description: ExternalGatewayConfig determines istio ingress/egress
|
|
configuration
|
|
properties:
|
|
egress:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
type: object
|
|
gatewayType:
|
|
type: string
|
|
ingress:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
type: object
|
|
nsIngress:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
namespaceIsolationProfile:
|
|
description: Namespace Isolation profile contains fields related
|
|
to namespace binding to slice
|
|
properties:
|
|
allowedNamespaces:
|
|
description: Allowed namespaces is a list of namespaces that
|
|
can send and receive traffic to app namespaces
|
|
items:
|
|
type: string
|
|
type: array
|
|
applicationNamespaces:
|
|
description: Application namespaces is a list of namespaces
|
|
that are bound to the slice
|
|
items:
|
|
type: string
|
|
type: array
|
|
isolationEnabled:
|
|
default: false
|
|
description: Enable Namespace Isolation in the slice
|
|
type: boolean
|
|
type: object
|
|
qosProfileDetails:
|
|
description: QOS profile details
|
|
properties:
|
|
bandwidthCeilingKbps:
|
|
description: Bandwidth Ceiling eg:5000
|
|
type: integer
|
|
bandwidthGuaranteedKbps:
|
|
description: Bandwidth Guaranteed eg:4000
|
|
type: integer
|
|
dscpClass:
|
|
description: DSCP code for inter cluster traffic
|
|
type: string
|
|
priority:
|
|
description: Priority 0-3
|
|
type: integer
|
|
queueType:
|
|
description: Queue Type
|
|
type: string
|
|
tcType:
|
|
description: TC type
|
|
type: string
|
|
type: object
|
|
sliceDisplayName:
|
|
description: display name of the slice.
|
|
type: string
|
|
sliceId:
|
|
description: UUID of the slice.
|
|
type: string
|
|
sliceIpam:
|
|
description: IPAM configuration for the slice
|
|
properties:
|
|
ipamClusterOctet:
|
|
description: Cluster specific octet for IPAM root subnet
|
|
type: integer
|
|
sliceIpamType:
|
|
description: IPAM Type for slice
|
|
type: string
|
|
required:
|
|
- sliceIpamType
|
|
type: object
|
|
sliceSubnet:
|
|
description: IP subnet range of the slice.
|
|
type: string
|
|
sliceType:
|
|
description: Type of the slice.
|
|
type: string
|
|
required:
|
|
- qosProfileDetails
|
|
- sliceDisplayName
|
|
- sliceId
|
|
- sliceIpam
|
|
- sliceSubnet
|
|
- sliceType
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|
|
|