apisix-ingress-controller: request help: The route name generated by default is too long
Issue description
默认生成的路由名称过长,导致dashboard中无法修改。报错信息如下: Request Error Code: 10004 input validate failed: Key: ‘UpdateInput.Route.Name’ Error:Field validation for ‘Name’ failed on the ‘max’ tag 想问下有什么地方可以设置默认生成的路由名称吗
Environment
- your apisix-ingress-controller version (output of
apisix-ingress-controller version --long
);1.3.0 - your Kubernetes cluster version (output of
kubectl version
);1.16 - if you run apisix-ingress-controller in Bare-metal environment, also show your OS version (
uname -a
).
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 16 (9 by maintainers)
I’ve submitted a PR #898 to fix it and also tested it to pass HTTP01 challenge.
If you want to test ahead of time, you can use this image
ghcr.io/tao12345666333/ingress-controller/apisix-ingress-controller:dev
Sorry for delay. We could modify this behavior, but it should be a breaking change, and I’ll send it to the mailing list as well. update later.
I set this to high priority and will fix it soon.
@cbouisson-csgroup thanks for reminding. It’s on my list. I have some ideas, and I’ll start a discussion next week. Find a relatively reasonable solution and implement it.
This issue makes it impossible to use Cert Manager with ingress controller. The process is described here, but only works for shorter dnsNames: https://apisix.apache.org/docs/ingress-controller/practices/manage-certificates-with-cert-manager/
Apisix-ingress-controller translates Ingress/v1 to “ingress_apisix” + host + path as name, and in scenarios where the sum is over 100 characters, the route registration fails. When using cert-manager, the problem occurs with ACME challenges. The pathname for the challenge is typically very long, and depending on the host length, the route registration fails.
At least it will fail when using HTTP01 challenge, DNS01 will probably work.
Thanks for taking a look at this @tao12345666333. We are having the same problem as @svendberg.
@han6565 自己定义 ApisixRoute 资源就可以了,我试了下没啥问题,插件可以配置,路由名称也能自己指定了。