apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: kongingresses.configuration.konghq.com
spec:
  group: configuration.konghq.com
  names:
    kind: KongIngress
    listKind: KongIngressList
    plural: kongingresses
    shortNames:
    - ki
    singular: kongingress
  preserveUnknownFields: false
  scope: Namespaced
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        description: KongIngress is the Schema for the kongingresses API
        properties:
          proxy:
            properties:
              path:
                type: string
                pattern: ^/.*$
              connect_timeout:
                minimum: 0
                type: integer
              protocol:
                enum:
                - http
                - https
                - grpc
                - grpcs
                - tcp
                - tls
                - udp
                type: string
              read_timeout:
                minimum: 0
                type: integer
              retries:
                minimum: 0
                type: integer
              write_timeout:
                minimum: 0
                type: integer
            type: object
          route:
            description: Route represents a Route in Kong. Read https://getkong.org/docs/0.13.x/admin-api/#Route-object
            properties:
              headers:
                additionalProperties:
                  items:
                    type: string
                  type: array
                type: object
              https_redirect_status_code:
                type: integer
              methods:
                items:
                  type: string
                type: array
              path_handling:
                enum:
                - v0
                - v1
                type: string
              preserve_host:
                type: boolean
              protocols:
                items:
                  enum:
                  - http
                  - https
                  - grpc
                  - grpcs
                  - tcp
                  - tls
                  - udp
                  type: string
                type: array
              regex_priority:
                type: integer
              request_buffering:
                description: "Kong buffers requests and responses by default. Buffering
                  is not always desired, for instance if large payloads are being
                  proxied using HTTP 1.1 chunked encoding. \n The request and response
                  route buffering options are enabled by default and allow the user
                  to disable buffering if desired for their use case. \n SEE ALSO:
                  - https://github.com/Kong/kong/pull/6057 - https://docs.konghq.com/2.2.x/admin-api/#route-object"
                type: boolean
              response_buffering:
                type: boolean
              snis:
                items:
                  type: string
                type: array
              strip_path:
                type: boolean
            type: object
          upstream:
            description: Upstream represents an Upstream in Kong.
            properties:
              algorithm:
                enum:
                - round-robin
                - consistent-hashing
                - least-connections
                type: string
              hash_fallback:
                type: string
              hash_fallback_header:
                type: string
              hash_on:
                type: string
              hash_on_cookie:
                type: string
              hash_on_cookie_path:
                type: string
              hash_on_header:
                type: string
              healthchecks:
                description: Healthcheck represents a health-check config of an upstream
                  in Kong.
                properties:
                  active:
                    description: ActiveHealthcheck configures active health check
                      probing.
                    properties:
                      concurrency:
                        minimum: 1
                        type: integer
                      healthy:
                        description: Healthy configures thresholds and HTTP status
                          codes to mark targets healthy for an upstream.
                        properties:
                          http_statuses:
                            items:
                              type: integer
                            type: array
                          interval:
                            minimum: 0
                            type: integer
                          successes:
                            minimum: 0
                            type: integer
                        type: object
                      http_path:
                        pattern: ^/.*$
                        type: string
                      timeout:
                        minimum: 0
                        type: integer
                      type:
                        type: string
                      unhealthy:
                        description: Unhealthy configures thresholds and HTTP status
                          codes to mark targets unhealthy.
                        properties:
                          http_failures:
                            minimum: 0
                            type: integer
                          http_statuses:
                            items:
                              type: integer
                            type: array
                          interval:
                            minimum: 0
                            type: integer
                          tcp_failures:
                            minimum: 0
                            type: integer
                          timeout:
                            minimum: 0
                            type: integer
                        type: object
                    type: object
                  passive:
                    description: PassiveHealthcheck configures passive checks around
                      passive health checks.
                    properties:
                      healthy:
                        description: Healthy configures thresholds and HTTP status
                          codes to mark targets healthy for an upstream.
                        properties:
                          http_statuses:
                            items:
                              type: integer
                            type: array
                          interval:
                            minimum: 0
                            type: integer
                          successes:
                            minimum: 0
                            type: integer
                        type: object
                      unhealthy:
                        description: Unhealthy configures thresholds and HTTP status
                          codes to mark targets unhealthy.
                        properties:
                          http_failures:
                            minimum: 0
                            type: integer
                          http_statuses:
                            items:
                              type: integer
                            type: array
                          interval:
                            minimum: 0
                            type: integer
                          tcp_failures:
                            minimum: 0
                            type: integer
                          timeout:
                            minimum: 0
                            type: integer
                        type: object
                    type: object
                  threshold:
                    type: integer
                type: object
              host_header:
                type: string
              slots:
                minimum: 10
                type: integer
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
