-
Notifications
You must be signed in to change notification settings - Fork 594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Routes with the same path but different methods are not being created #202
Comments
Thanks for the report @justinrcs! Currently, the sync logic for Routes doesn't take into account methods and hence you're running into this problem. |
This will be fixed as part of #241. |
Breaking changes - KongIngress overrides for Service and Upstream will now be picked up from annotation on the service and not the route. Changelog: - Directly translate to Kong configuration objects Previously, the Ingress rules were parsed into Nginx Server and Location blocks, and then translated to Kong configuration. This was more complicated and information was lost during translation. - Translation is now done to an intermediate Kong state and then further translated to the final format. The final format will differ, based on if Kong is running in a db or a db-less mode. - Method based routes are now supported (#202) - Default backend in Ingress rules is now respected and a default fallback route in Kong will be created if a default backend exists in one of the Ingress objects. If multiple Ingress objects have a default backed, the Ingress created first will be respected. Fix #202 Fix #241
This is fixed with #241 and support will be available in the next release. |
Summary
Looking at moving from AWS API Gateway to Kong, we need to be able to reproduce our current setup. Given a simple CRUD API, where {id} is a path parameter variable:
POST
https://some-host/some-api-context/
GET
https://some-host/some-api-context/{id}
PUT/PATCH
https://some-host/some-api-context/{id}
DELETE
https://some-host/some-api-context/{id}
Each route points to a separate Lambda function responsible for a specific operation (create, update, etc)
Attempting to re-create this using the Ingress Controller (will just illustrate POST and GET for brevity)
POST (create):
GET (read):
This results in only the POST route being created.
The Ingress Controller does create the resources - acknowledged by the logs and by querying
kubectl get ing -n kong
orkubectl get kongingress -n kong
, however, they are not created in the database.Kong Ingress controller version
0.2.2
Kong or Kong Enterprise version
0.14
Kubernetes version
Environment
uname -a
): 4.4.121-k8s Status of controller? #1 SMP Sun Mar 11 19:39:47 UTC 2018 x86_64 GNU/LinuxWhat happened
Only a single route is created, additional routes are ignored.
Expected behvaior
Multiple routes should be created. We are able to successfully configure this setup using vanilla kong (non-ingress) and the Admin REST API
Steps To Reproduce
Look at the underlying database or curl the kong admin api to list routes - only one is created
The text was updated successfully, but these errors were encountered: