Hi Devs, We are currently evaluating APISIX as a replacement for the NGINX Ingress Controller and are in the process of migrating a few existing Ingress resources. We would appreciate your recommendation on the best approach for this migration.
We mainly have two types of Ingress resources: *1. Ingresses with custom Lua routing logic* These use annotations such as nginx.ingress.kubernetes.io/server-snippet and nginx.ingress.kubernetes.io/configuration-snippet to inject custom Lua logic for routing and redirection. *2. Vanilla Ingresses with only annotations* These do not contain custom processing but use annotations such as nginx.ingress.kubernetes.io/client-body-buffer-size and nginx.ingress.kubernetes.io/client-header-buffer-size to enforce limits and restrictions. Based on the documentation, my understanding is: - The first type should be migrated to *ApisixRoute* resources, where Lua logic can be implemented through custom plugins or serverless plugins. - The second type *might* be represented using standard Ingress resources. However, I could not find a clear mapping between NGINX annotations and APISIX annotations/plugins, so I am unsure whether these can remain as Ingresses or also need to move to ApisixRoute. Could you please advise: - Whether the above understanding is correct? - The recommended way to migrate NGINX annotations such as buffer limits? - Whether vanilla Ingress resources are expected to work reliably in APISIX without switching to ApisixRoute? Thanks in advance for your guidance. Best regards, Amila -- *Amila De Silva* Software Architect | Associate Director, Engineering - WSO2 Inc. (m) +94 775119302 | (e) [email protected] <http://wso2.com/signature>
