apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: premium-openapi-tidbs
  annotations:
    konghq.com/plugins: openapi-plugin-force-https,openapi-plugin-digest-auth,openapi-plugin-rate-limit
spec:
  ingressClassName: kong
  rules:
    - http:
        paths:
          - path: /v1beta2/tidbs
            pathType: Prefix
            backend:
              service:
                name: tidb-mgmt-portal
                port:
                  number: 8080
          - path: /v1beta2/tidbs:restore
            pathType: Exact
            backend:
              service:
                name: tidb-mgmt-portal
                port:
                  number: 8080
          - path: /api/v1beta2
            pathType: Prefix
            backend:
              service:
                name: dataflow-ng-http
                port:
                  number: 11000
          - path: /dedicated/v1beta1
            pathType: Prefix
            backend:
              service:
                name: tidb-mgmt-portal
                port:
                  number: 8080
          - path: /v1beta1/clusters
            pathType: Prefix
            backend:
              service:
                name: tidb-mgmt-portal-serverless
                port:
                  number: 8080
          - path: /v1beta1/regions
            pathType: Prefix
            backend:
              service:
                name: tidb-mgmt-portal-serverless
                port:
                  number: 8080
          - path: /v1beta1/shadowPools
            pathType: Prefix
            backend:
              service:
                name: tidb-mgmt-portal-serverless
                port:
                  number: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: dedicated-openapi-dataflow
  annotations:
    konghq.com/plugins: openapi-plugin-force-https,openapi-plugin-digest-auth,openapi-plugin-rate-limit
spec:
  ingressClassName: kong
  rules:
    - http:
        paths:
          - path: /api/v1beta
            pathType: Prefix
            backend:
              service:
                name: dataflow-http
                port:
                  number: 11000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: dedicated-openapi-changefeeds
  annotations:
    konghq.com/plugins: openapi-plugin-force-https,openapi-plugin-digest-auth,openapi-plugin-rate-limit
spec:
  ingressClassName: kong
  rules:
    - http:
        paths:
          - path: /v1beta1/changefeeds
            pathType: Prefix
            backend:
              service:
                name: dataflow-http
                port:
                  number: 11000
          - path: /v1beta1/changefeedRCUs
            pathType: Exact
            backend:
              service:
                name: dataflow-http
                port:
                  number: 11000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: account-openapi-dbuser
  annotations:
    konghq.com/plugins: openapi-plugin-force-https,openapi-plugin-digest-auth,openapi-plugin-rate-limit
    konghq.com/regex-priority: "300"
spec:
  ingressClassName: kong
  rules:
    - http:
        paths:
          - path: /~/v1beta1/clusters/[0-9]+/dbuser$
            pathType: ImplementationSpecific
            backend:
              service:
                name: account-openapi-http
                port:
                  number: 11000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: starter-openapi-serverless
  annotations:
    konghq.com/plugins: openapi-plugin-force-https,openapi-plugin-digest-auth,openapi-plugin-rate-limit
    konghq.com/regex-priority: "200"
spec:
  ingressClassName: kong
  rules:
    - http:
        paths:
          - path: /~/v1beta1/clusters/[^/]+/branches(?:$|/|:)
            pathType: ImplementationSpecific
            backend:
              service:
                name: serverless-svc-http
                port:
                  number: 8080
          - path: /~/v1beta1/clusters/[^/]+/branches/[^/]+/sqlUsers(?:$|/)
            pathType: ImplementationSpecific
            backend:
              service:
                name: serverless-svc-http
                port:
                  number: 8080
          - path: /~/v1beta1/clusters/[^/]+/changefeeds(?:$|/)
            pathType: ImplementationSpecific
            backend:
              service:
                name: serverless-svc-http
                port:
                  number: 8080
          - path: /~/v1beta1/clusters/[^/]+/privateLinkConnections(?:$|/|:)
            pathType: ImplementationSpecific
            backend:
              service:
                name: serverless-svc-http
                port:
                  number: 8080
