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]