# Custom Resource Definition (CRD) for SMI's traffic access specification. # # Copyright SMI SDK for Go authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: traffictargets.access.smi-spec.io spec: group: access.smi-spec.io scope: Namespaced names: kind: TrafficTarget shortNames: - tt plural: traffictargets singular: traffictarget versions: - name: v1alpha3 served: true storage: true schema: openAPIV3Schema: type: object properties: spec: type: object required: - destination - rules - sources properties: destination: description: The destination of this traffic target. type: object required: - name - kind properties: kind: description: Kind of the destination. type: string name: description: Name of the destination. type: string namespace: description: Namespace of the destination. type: string rules: description: Specifications of this traffic target. type: array items: type: object required: - name - kind properties: kind: description: Kind of this spec. type: string enum: - HTTPRouteGroup - TCPRoute - UDPRoute name: description: Name of this spec. type: string matches: description: Match conditions of this spec. type: array items: type: string sources: description: Sources of this traffic target. type: array items: type: object required: - name - kind properties: kind: description: Kind of this source. type: string name: description: Name of this source. type: string namespace: description: Namespace of this source. type: string - name: v1alpha2 served: false storage: false schema: openAPIV3Schema: type: object properties: spec: type: object required: - destination properties: destination: description: The destination of this traffic target. type: object required: - name - kind properties: kind: description: Kind of the destination. type: string name: description: Name of the destination. type: string namespace: description: Namespace of the destination. type: string port: description: Port number of the destination. type: number rules: description: Specifications of this traffic target. type: array items: type: object required: - name - kind properties: kind: description: Kind of this spec. type: string enum: - HTTPRouteGroup - TCPRoute name: description: Name of this spec. type: string matches: description: Match conditions of this spec. type: array items: type: string sources: description: Sources of this traffic target. type: array items: type: object required: - name - kind properties: kind: description: Kind of this source. type: string name: description: Name of this source. type: string namespace: description: Namespace of this source. type: string - name: v1alpha1 served: false storage: false schema: openAPIV3Schema: type: object required: - destination properties: destination: description: The destination of this traffic target. type: object required: - name - kind - port properties: kind: description: Kind of the destination. type: string name: description: Name of the destination. type: string namespace: description: Namespace of the destination. type: string port: description: Port number of the destination. type: number specs: description: Specifications of this traffic target. type: array items: type: object required: - name - kind properties: kind: description: Kind of this spec. type: string enum: - HTTPRouteGroup - TCPRoute name: description: Name of this spec. type: string matches: description: Match conditions of this spec. type: array items: type: string sources: description: Sources of this traffic target. type: array items: type: object required: - name - kind properties: kind: description: Kind of this source. type: string name: description: Name of this source. type: string namespace: description: Namespace of this source. type: string