#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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/v1beta1
kind: CustomResourceDefinition
metadata:
  name: apisixroutes.apisix.apache.org
spec:
  additionalPrinterColumns:
    - JSONPath: .spec.http[].match.hosts
      name: Hosts
      type: string
      priority: 0
    - JSONPath: .spec.http[].match.paths
      name: URIs
      type: string
      priority: 0
    - JSONPath: .spec.http[].backend.serviceName
      name: Target Service(HTTP)
      type: string
      priority: 1
    - JSONPath: .spec.tcp[].match.ingressPort
      name: Ingress Server Port(TCP)
      type: integer
      priority: 1
    - JSONPath: .spec.tcp[].match.backend.serviceName
      name: Target Service(TCP)
      type: string
      priority: 1
    - JSONPath: .metadata.creationTimestamp
      name: Age
      type: date
      priority: 0
  group: apisix.apache.org
  versions:
    - name: v1
      served: true
      storage: false
      deprecated: true
    - name: v2alpha1
      served: true
      storage: false
    - name: v2beta1
      served: true
      storage: true
  scope: Namespaced
  names:
    plural: apisixroutes
    singular: apisixroute
    kind: ApisixRoute
    shortNames:
      - ar
  preserveUnknownFields: true # we have to enable it since plugin config
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      type: object
      properties:
        spec:
          type: object
          anyOf:
            - required: ["http"]
            - required: ["tcp"]
            - required: ["stream"]
          properties:
            http:
              type: array
              minItems: 1
              items:
                type: object
                oneOf:
                  - required: ["name", "match", "backend"]
                  - required: ["name", "match", "backends"]
                properties:
                  name:
                    type: string
                    minLength: 1
                  priority:
                    type: integer
                  match:
                    type: object
                    required:
                    - paths
                    properties:
                      paths:
                        type: array
                        minItems: 1
                        items:
                          type: string
                          pattern: "^/[a-zA-Z0-9\\-._~%!$&'()+,;=:@/]*\\*?$"
                      hosts:
                        type: array
                        minItems: 1
                        items:
                          type: string
                          pattern: "^\\*?[0-9a-zA-Z-._]+$"
                      methods:
                        type: array
                        minItems: 1
                        items:
                          type: string
                          enum: ["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"]
                      remoteAddrs:
                        type: array
                        minItems: 1
                        items:
                          type: string
                      exprs:
                        type: array
                        minItems: 1
                        items:
                          type: object
                          properties:
                            subject:
                              type: object
                              properties:
                                scope:
                                  type: string
                                  enum: ["Cookie", "Header", "Path", "Query"]
                                name:
                                  type: string
                                  minLength: 1
                              required:
                              - scope
                            op:
                              type: string
                              enum:
                                - Equal
                                - NotEqual
                                - GreaterThan
                                - LessThan
                                - In
                                - NotIn
                                - RegexMatch
                                - RegexNotMatch
                                - RegexMatchCaseInsensitive
                                - RegexNotMatchCaseInsensitive
                            value:
                              type: string
                            set:
                              type: array
                              items:
                                type: string
                          oneOf:
                            - required: ["subject", "op", "value"]
                            - required: ["subject", "op", "set"]
                  websocket:
                    type: boolean
                  backend:
                    type: object
                    properties:
                      serviceName:
                        type: string
                        minLength: 1
                      servicePort:
                        type: integer
                        minimum: 1
                        maximum: 65535
                      resolveGranualrity:
                        type: string
                        enum: ["endpoint", "service"]
                      weight:
                        type: integer
                        minimum: 0
                      subset:
                        type: string
                    required:
                      - serviceName
                      - servicePort
                  backends:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        serviceName:
                          type: string
                          minLength: 1
                        servicePort:
                          type: integer
                          minimum: 1
                          maximum: 65535
                        resolveGranualrity:
                          type: string
                          enum: ["endpoint", "service"]
                        weight:
                          type: integer
                          minimum: 0
                        subset:
                          type: string
                    required:
                      - serviceName
                      - servicePort
                  plugins:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                        enable:
                          type: boolean
                        config:
                          type: object
                    required:
                      - name
                      - enable
                  authentication:
                    type: object
                    properties:
                      enable:
                        type: boolean
                      type:
                        type: string
                        enum: ["basicAuth", "keyAuth"]
                      keyAuth:
                        type: object
                        properties:
                          header:
                            type: string
                    required:
                      - enable
            tcp:
              type: array
              minItems: 1
              items:
                type: object
                required: ["name", "match", "backend"]
                properties:
                  name:
                    type: string
                    minLength: 1
                  match:
                    type: object
                    properties:
                      ingressPort:
                        type: integer
                        minimum: 1
                        maximum: 65535
                    required:
                      - ingressPort
                  backend:
                    type: object
                    properties:
                      serviceName:
                        type: string
                        minLength: 1
                      servicePort:
                        type: integer
                        minimum: 1
                        maximum: 65535
                      resolveGranualrity:
                        type: string
                        enum: ["endpoint", "service"]
                      subset:
                        type: string
                    required:
                      - serviceName
                      - servicePort
            stream:
              type: array
              minItems: 1
              items:
                type: object
                required: [ "name", "match", "backend", "protocol" ]
                properties:
                  "protocol":
                    type: string
                    enum: [ "TCP", "UDP" ]
                  name:
                    type: string
                    minLength: 1
                  match:
                    type: object
                    properties:
                      ingressPort:
                        type: integer
                        minimum: 1
                        maximum: 65535
                    required:
                      - ingressPort
                  backend:
                    type: object
                    properties:
                      serviceName:
                        type: string
                        minLength: 1
                      servicePort:
                        type: integer
                        minimum: 1
                        maximum: 65535
                      resolveGranualrity:
                        type: string
                        enum: [ "endpoint", "service" ]
                      subset:
                        type: string
                    required:
                      - serviceName
                      - servicePort
