Dellavrite opened a new issue, #2764:
URL: https://github.com/apache/apisix-ingress-controller/issues/2764

   ### Current Behavior
   
   When an HTTPRoute resource is configured with `path.type: RegularExpression`,
   the APISIX Ingress Controller correctly generates a `vars` field for regex
   matching, but also sets `uris: null` instead of omitting the field entirely.
   
   This causes the bulk ADC sync to fail with HTTP 400 from the APISIX Admin 
API v3,
   which strictly validates that `uris` must be an array, not null.
   
   The error propagates to ALL routes in the cluster — not just the offending
   RegularExpression route — because the controller sends all services in a 
single
   bulk payload and the Admin API rejects the entire request.
   
   Debug log shows the generated payload:
   {
     "uris": null,
     "vars": [["uri","~~","/lk.*"]]
   }
   
   Admin API response:
   HTTP 400: {"errors":[{"expected":"array","code":"invalid_type",
   "path":["services",16,"routes",0,"uris"],
   "message":"Invalid input: expected array, received null"}]}
   
   ### Expected Behavior
   
   When path.type is RegularExpression, the controller should either:
     1. Omit the `uris` field entirely from the route payload (preferred), or
     2. Set `uris` to a wildcard array like ["/*"] as a passthrough,
        while keeping `vars` for the actual regex match.
   
   ### Error Logs
   
   
[report.redacted.log](https://github.com/user-attachments/files/27766032/report.redacted.log)
   
   ### Steps to Reproduce
   
   1. Deploy Helm APISIX Ingress Controller v2.0.1 with APISIX 3.x (Admin API 
v3)
   2. Apply HTTPRoute with regex as in the yaml file
   3. The sync will fail with HTTP 400 for ALL routes, not just the regex one.
   4. Check the HTTPRoute status
   
   
[httproute.anonymized.yaml](https://github.com/user-attachments/files/27766004/httproute.anonymized.yaml)
   
   ### Environment
   
   - APISIX Ingress Controller version: 2.0.1
   - Kubernetes version: 1.33
   - APISIX version: 3.16.0
   - Deployment mode: Gateway API (HTTPRoute → GatewayProxy → APISIX Admin API 
v3)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to