# Custom Resource Definition (CRD) for SMI's tcp route 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: tcproutes.specs.smi-spec.io
  labels:
    app.kubernetes.io/name : "openservicemesh.io"
spec:
  group: specs.smi-spec.io
  scope: Namespaced
  names:
    kind: TCPRoute
    shortNames:
      - tr
    plural: tcproutes
    singular: tcproute
  versions:
    - name: v1alpha4
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              required:
                - matches
              properties:
                matches:
                  description: Match conditions of this route.
                  type: object
                  required:
                    - ports
                  properties:
                    ports:
                      description: Port numbers to match TCP traffic.
                      type: array
                      items:
                        type: integer