Which Ingress NGINX replacement fits your cluster?
Existing Ingress NGINX deployments keep running, but they receive no further releases, bug fixes or security updates after March 2026, so the decision is which replacement causes the least rework for your cluster. For the smallest annotation rewrite, Traefik is the strongest starting point, because its Kubernetes Ingress NGINX provider supports many ingress-nginx annotations. Choose Envoy Gateway if your team is standardizing on Gateway API resources, and choose the Kong Ingress Controller or the APISIX Ingress Controller if you already run Kong or APISIX as a gateway and want one set of operational skills.
Traefik's advantage is the migration path, not the end state. Annotation support means many existing Ingress objects can move with minimal changes, but you should still inventory every annotation in use, test each one against the provider's documentation, and confirm which ones are supported before cutover. Traefik also supports the Kubernetes Gateway API provider, so you can plan a later move to Gateway API resources without changing gateways again. Envoy Gateway runs on Gateway API resources from the start, and its documentation covers air-gapped installs and Helm, Argo CD or Flux CD deployment. That fits platform teams willing to rewrite Ingress objects, but expect more upfront effort than an annotation-compatible path.
Kong and APISIX controllers make sense when the gateway team already operates those products, because policies, plugins and runbooks carry over. Kong's open-source line stays on the 3.9 series, and its version support policy applies only to Kong Gateway Enterprise, so confirm with Kong which support window and edition you need. The APISIX Ingress Controller has no supplied facts of its own in this comparison, so confirm its maintainers, release cadence, Gateway API coverage and annotation behavior directly before you commit.
Which Ingress NGINX replacement suits each team
This table maps common team situations to the replacement most likely to fit, with the condition that makes each choice hold. Read each row against your own cluster, annotation inventory and deadline, and treat any annotation support as something to verify before migration begins.
| Scenario | Best fit | Why |
|---|---|---|
| Many ingress-nginx annotations and a tight deadline | Traefik with its ingress-nginx annotation support | Traefik's Kubernetes Ingress NGINX provider supports many ingress-nginx annotations, so migration may need minimal configuration changes. This holds only for the annotations your cluster uses, so run each one against the Traefik documentation and a staging cluster before cutover. |
| Platform team standardizing on Gateway API | Envoy Gateway | Envoy Gateway is built around Gateway API resources, which it uses to provision and configure the managed Envoy proxies. This fits when Gateway API is the target standard, and you should confirm that the specific route and policy features you need are available in the release you deploy. |
| Team already running Kong or APISIX as an API gateway | Kong Ingress Controller or APISIX Ingress Controller, matched to the existing gateway | Keeping one gateway product reduces the number of plugin sets, policies and operational runbooks to maintain. The choice holds only if the existing gateway's open-source edition covers your plugin and licensing needs, since Kong's newer releases ship in Kong Gateway Enterprise. |
| Team that wants a standalone proxy outside Kubernetes | Traefik or Envoy Gateway in standalone mode | Traefik runs as a single Go binary or Docker image and supports file configuration, which suits non-Kubernetes routing. Envoy Gateway documents a standalone deployment mode outside Kubernetes. Confirm which mode matches your operating model before committing. |
| Air-gapped or regulated environment | Envoy Gateway, after confirming offline install steps | Envoy Gateway's documentation includes guides for air-gapped deployment, and its Apache-2.0 license is clear for internal review. Ask the vendor or project for the exact offline artifacts and image sources, and check that your own compliance controls accept the chosen install path. |
| Team needing an Apache-2.0 controller with commercial support options | Kong Ingress Controller | The Kong Ingress Controller is Apache-2.0 licensed and is Kong's official Kubernetes controller. Confirm which features require Kong Gateway Enterprise or Konnect, since the open-source edition's support window is not covered by Kong's version support policy. |
| Team that must decide licensing before any engineering work | Traefik for MIT terms, Envoy Gateway for Apache-2.0 terms | Both are permissively licensed open-source projects, but the commercial add-ons (such as Traefik Hub or Traefik Enterprise) are separate products. Confirm with legal which components your deployment will use, and avoid assuming paid features are included. |
How much migration effort each option asks for
Traefik is the option where the migration starts closest to what teams already run. Its Kubernetes Ingress NGINX provider supports many ingress-nginx annotations, so teams can move from the retired controller with minimal configuration changes, according to the Traefik documentation. The effort sits in checking which annotations your manifests actually use, because support covers many annotations, not every one.
- Annotation inventory: List every
nginx.ingress.kubernetes.io/annotation in use, including those on Ingress objects owned by application teams, and check each one against the provider's supported list. - Custom snippets: Configuration snippets and custom NGINX templates do not carry over automatically and must be rewritten as Traefik middleware or removed.
- Authentication flows: Test external auth, basic auth and session behavior end to end, since a manifest that applies cleanly does not prove users log in the same way.
- Native objects: Teams that move to Traefik's CRDs or Gateway API resources rewrite beyond the annotation layer, which adds work but reduces dependence on the compatibility layer over time.
- Who does the work: The platform team usually owns the inventory and cutover, and a consultant or vendor helps when the annotation footprint is large or spread across many namespaces.
Check your annotation list against the provider documentation for the exact Traefik version you plan to deploy.
Envoy Gateway asks for a model change rather than a configuration translation. It uses Gateway API resources to provision and configure Envoy Proxy, so Ingress rules and NGINX annotations become Gateway, route and policy objects. The project documents a guide for migrating from Ingress resources, which is the natural starting point for planning the rewrite, available in the Envoy Gateway documentation.
- Model change: Platform engineers need to learn the Gateway API object model before converting manifests, and reviewers must check routes against the new structure.
- Policy mapping: Authentication (API key, basic, JWT and OIDC), external authorization, mutual TLS, IP allow and deny lists, CORS and rate limiting are documented, but each NGINX annotation must be matched to the correct capability.
- Custom logic: Lua or other custom NGINX behavior needs a new home, such as Wasm, Lua, external processing or an extension server, and each option carries its own test plan.
- Delivery tooling: Installation with Helm, Argo CD or Flux CD and the air-gapped deployment guide affect how rewritten manifests are versioned and promoted, which can shift work into the GitOps pipeline.
- Who does the work: Platform engineers own the Gateway API design, application teams review the routes they own, and a consultant often helps with policy mapping and authentication testing.
Confirm which of your annotations have a documented policy equivalent and which need a custom extension before you scope the work.
The Kong Ingress Controller is Apache-2.0 licensed, and its effort depends on how existing NGINX behavior maps onto Kong plugins and Kong's own configuration objects. Migration means translating annotation behavior into plugin configuration, then choosing how the gateway will be deployed. The latest controller release cited for this comparison is v3.5.13, published August 7, 2026, so confirm the release line you will test against.
- Plugin translation: Map each annotation or snippet to a Kong plugin or route setting, and verify the mapping in a staging cluster against the controller documentation for your release.
- Database-dependent plugins: Cluster-strategy rate limiting and OAuth2 need traditional mode with a database, which changes the deployment and the operating burden compared with DB-less mode.
- Declarative configuration: The decK tool exports and syncs declarative files, which lets teams capture current configuration, review it in Git and keep it under change control.
- Edition boundary: The open-source controller and gateway are Apache-2.0, but Kong's version support policy covers Kong Gateway Enterprise only, so confirm the support window your auditors and operators expect before you commit.
- Who does the work: A platform team with Kong experience usually leads, and a consultant is useful for plugin mapping and authentication testing when the NGINX configuration is heavily customized.
Confirm the plugin mapping for each annotation in use and the topology your team can operate before estimating effort.
The APISIX Ingress Controller brings an etcd-backed gateway into the migration, so the effort includes the configuration store as well as the controller. Apache APISIX is Apache-2.0 licensed and built on NGINX and ngx_lua with LuaJIT, and it stores configuration in etcd in its traditional and decoupled topologies, as described in the APISIX architecture documentation. The supplied material does not establish how completely the controller reproduces ingress-nginx annotations, so that coverage must be confirmed with the project before planning.
- Annotation coverage: Confirm which ingress-nginx annotations and snippets have a direct APISIX equivalent, and treat any gap as custom plugin or route work.
- Plugin model: Lua plugins run inside worker processes, and other languages run through external plugin runners, so custom NGINX logic may need to be rebuilt in one of those forms.
- WebAssembly status: Wasm plugin support is still experimental, so it should not be the foundation of a migration that must hold up under audit.
- etcd operations: The team must run, back up and secure etcd alongside the gateway, which adds operating work that the other controllers do not require in the same form.
- Who does the work: Platform engineers handle the etcd and gateway setup, application teams validate routes, and a consultant may help with plugin rebuilds.
Confirm annotation coverage and the etcd operating plan with the project and your own environment before you commit to this option.
How each Ingress NGINX replacement compares on Gateway API and licensing
This table compares Envoy Gateway, Traefik, Kong Ingress Controller and APISIX Ingress Controller on license, release, Gateway API support, ingress-nginx annotation migration, authentication, extensions, deployment modes, air-gapped guidance and commercial tiers. Where a cell says to confirm, the public information available for this comparison does not settle the point, so check it with the project or vendor before you shortlist. Envoy Gateway and Traefik have the clearest published Gateway API support, and Traefik is the only option here with documented ingress-nginx annotation support.
| Capability | Envoy Gateway | Traefik | Kong Ingress Controller | APISIX Ingress Controller |
|---|---|---|---|---|
| License | Apache-2.0 (OSI-approved) | MIT (OSI-approved) for Traefik Proxy | Apache-2.0 (OSI-approved) for the controller | Apache APISIX core is Apache-2.0; confirm the controller's license |
| Latest release named in the facts | v1.9.2 and v1.8.5, published September 28, 2026 | v3.7.15 and v2.11.59, published October 15, 2026 | v3.5.13, published August 7, 2026 | Apache APISIX 3.19.0 (gateway), September 28, 2026; confirm controller release |
| Gateway API support | Yes. Uses Gateway API resources to provision and configure Envoy proxies | Yes, through its Kubernetes Gateway API provider | Confirm controller support and supported Gateway API versions | Confirm controller support and supported Gateway API versions |
| ingress-nginx annotation support | Migration guide covers Ingress resources; confirm how ingress-nginx annotations map | Supports many ingress-nginx annotations for minimal configuration changes | Confirm which ingress-nginx annotations map to its plugins | Confirm annotation coverage with the project before planning migration |
| Authentication options | API key, basic, JWT, OIDC, external authorization, mutual TLS, IP lists, CORS, rate limiting | Confirm authentication middleware options for your version | JWT, basic auth, OAuth and ACL plugins in Kong Gateway; confirm controller coverage | Confirm authentication plugins in the controller version you deploy |
| Extension model | Wasm, Lua, dynamic modules, external processing and an extension server | Confirm the extension model for your version | Plugin-based; gateway plugins extend routing, auth and transformation | Lua plugins in worker processes, external plugin runners, experimental WebAssembly |
| Providers or deployment modes | Standalone outside Kubernetes or on Kubernetes; Helm, Argo CD or Flux CD installs | Kubernetes Ingress, CRD and Gateway API, plus Docker, Swarm, ECS, Consul, Nomad and file | Kubernetes; gateway topologies are traditional, DB-less and hybrid. Confirm controller modes | Traditional and decoupled etcd topologies with file or API configuration (gateway); confirm controller |
| Air-gapped guide | Yes, the documentation includes an air-gapped deployment guide | Confirm offline installation steps with Traefik | Confirm offline installation steps with Kong | Confirm offline installation steps with the project |
| Commercial tier | Confirm commercial support options with the project or vendors | Traefik Hub and Traefik Enterprise; commercial support through Traefik.io | Kong Gateway Enterprise, including fully self-hosted gateways with local control and data planes | Confirm any commercial edition or support provider |
What each replacement is and where it stops
Each option below is a current open-source choice for ingress or Gateway API traffic. They differ most in whether they follow the Gateway API, whether migration keeps your existing annotations, and which commercial line holds the newest features.
Envoy Gateway: Gateway API first
Envoy Gateway manages Envoy Proxy through Gateway API resources, so the routes you write are the objects the controller reads. It is Apache-2.0 licensed and runs inside Kubernetes or as a standalone gateway outside it. Its documentation covers API key, basic, JWT and OIDC authentication, external authorization, mutual TLS, CORS and rate limiting, and it can be extended with Wasm, Lua, dynamic modules, external processing and an extension server. Choose it when Gateway API is your long-term contract and your team can tune Envoy. Check the project's compatibility matrix against your Kubernetes and Envoy Proxy versions before upgrading.
Traefik: annotation-compatible migration
Traefik is a MIT-licensed reverse proxy and load balancer shipped as a single Go binary and an official Docker image. Its Kubernetes Ingress NGINX provider supports many ingress-nginx annotations, so teams can move with minimal configuration changes. It also reads Docker, Swarm, Consul, Nomad, ECS and file configuration, which suits mixed estates. Traefik Hub (Kubernetes-native API management) and Traefik Enterprise (an API gateway) are separate commercial products, so confirm which features you need. Check each annotation your ingresses use against the provider's supported list before cutover.
Kong Ingress Controller: Kong plugin estate
Kong Ingress Controller is Kong's official ingress controller for Kubernetes and is Apache-2.0 licensed. It is tied to the Kong Gateway line, where the open-source releases stay on the 3.9 series and newer Enterprise releases ship under the commercial license. Pick it if your team already runs Kong plugins or decK-managed configuration and accepts that the newest gateway features sit on the commercial line. Before committing, confirm which controller release pairs with the gateway version you plan to run, and confirm that your required plugins work on the open-source build.
APISIX Ingress Controller: confirm first
The APISIX gateway is Apache-2.0 licensed, built on NGINX and ngx_lua with LuaJIT, and stores configuration in etcd in its traditional and decoupled topologies. Its plugins run Lua inside worker processes, with other languages supported through external plugin runners. This page does not establish the license or Gateway API status of the APISIX Ingress Controller itself, so check both in its repository before shortlisting it. Choose the APISIX line when you want etcd-backed dynamic configuration and Lua plugins, and your team can operate etcd alongside the gateway.
Where open-source licenses end and paid editions begin
All four controllers in this comparison, Envoy Gateway, Traefik, the Kong Ingress Controller and the APISIX Ingress Controller, carry open-source licenses, so the licensing question is less about the controller itself and more about the products built around it. Start by mapping which features your migration depends on to which edition provides them. The license on the controller does not tell you which edition holds the features you need, and that gap is where surprises tend to appear.
Kong shows the gap most clearly. The open-source Kong/kong repository is Apache-2.0 licensed, but its releases stay on the 3.9 line, with 3.9.4 released on October 12, 2026. Kong Gateway Enterprise is at 3.16, released September 15, 2026, and Kong's version support policy applies only to Enterprise, so it publishes no support window for the open-source edition. Kong's pricing page places fully self-hosted gateways with a local control plane and data plane in the commercial Enterprise offering, and Kong Gateway 3.10 removed the unlicensed free mode from Enterprise. Ask Kong in writing which edition you would run, what its support window is, and whether your topology needs Enterprise features before you pick the Kong Ingress Controller, which is Apache-2.0 licensed with release v3.5.13 published August 7, 2026.
Traefik separates its open-source proxy from commercial products. Traefik Proxy is MIT-licensed, and its Kubernetes Ingress NGINX provider is the migration path most relevant here. The Traefik documentation separates Traefik Hub, described as Kubernetes-native API management, from Traefik Enterprise, described as an API gateway, and the README directs commercial support requests to Traefik.io. Confirm with Traefik which capabilities you need, such as API management or commercial support, are in Hub or Enterprise rather than the proxy, and check how long each Traefik version is supported, since the project usually ships three or four minor versions a year and supports each until the next release.
How to choose and pilot a replacement
This sequence turns the retirement of Ingress NGINX into a documented, reversible decision: you inventory what you run, shortlist two controllers, prove the choice in a pilot, and leave with a cutover and rollback plan you can hand to change control.
Inventory every ingress resource
Platform or cluster engineers list every Ingress object, IngressClass and ingress-nginx annotation and configuration snippet across all clusters, including Helm values and GitOps repositories that generate them. Export the list with the owning team, the hostname, the TLS source and whether the route carries authentication, rate limits or custom server blocks. Snippets and custom templates are the items most likely to need rewriting, so flag them first. The step is done when every route is in one inventory and each has an owner.
Classify each annotation and snippet
Working with the application owners, sort each item into supported, rewritable or unsupported. Supported means the candidate controller accepts the same annotation with the same behavior, which you must confirm in its documentation rather than assume. Rewritable means the intent maps to Gateway API resources or a controller-specific policy. Unsupported means the behavior needs a redesign or a plugin you have not yet verified. Record the classification in the inventory. The output is a short list of blockers that will drive the controller shortlist.
Shortlist two controllers
Choose two candidates from Envoy Gateway, Traefik with its Ingress NGINX provider, Kong Ingress Controller and the APISIX Ingress Controller, based on the blockers from the previous step. Confirm the licence of each controller and of the gateway it runs, and whether any feature you need sits in a paid edition. Ask each vendor or project in writing which annotations it supports, which Gateway API version it targets and what its support window is for the release you would deploy. The step is done when you have a written comparison for two options that your architects accept.
Pilot on one non-critical namespace
Deploy both shortlisted controllers into a test cluster or one low-risk namespace, and move a representative set of routes from the inventory, including at least one route with authentication and one with TLS passthrough or custom headers. Run the same traffic tests against each and record latency, error rates and the number of manual edits each route needed. Because existing Ingress NGINX deployments keep working after retirement, this pilot does not need a compressed schedule. Done means a results sheet that compares the two controllers on the same routes.
Check Gateway API conformance and auth flows
Test the Gateway API resources each controller generates against the conformance results it publishes, and confirm which features are in scope for your version. Then test every authentication flow your applications depend on, such as OIDC, JWT validation, mutual TLS, external authorization and IP allow lists, end to end with a real identity provider in the pilot environment. Ask each vendor which of these features are included in the open-source edition and which require a commercial license. The output is a pass or fail record per flow, with any gap logged as a blocker or an accepted risk.
Document the security and operations model
Security and platform teams review how each candidate handles certificate management, logging, metrics, upgrades and the separation of control and data planes. Confirm the upgrade path and release cadence for each controller in writing, including how long each version receives fixes. Identify who will own the controller after go-live and what runbooks they need. The step is done when the review produces a signed decision record that names the controller, the reasons and the open risks.
Plan cutover and rollback
Platform engineers write a cutover plan that moves routes in batches, keeps the existing Ingress NGINX controller running in parallel, and uses DNS or load balancer weights to shift traffic gradually. Each batch needs a named owner, a health check that confirms success and a rollback step that restores the previous route. Schedule removal of the old controller only after every batch has stayed healthy through an agreed observation period. The output is an approved runbook and a rollback test that you have rehearsed in the pilot environment.
What running each controller asks of your platform team
The work does not end at cutover. Each controller brings its own upgrade rhythm, and that rhythm sets how often your platform team must test, roll and document changes. Traefik usually ships three or four minor versions a year, and each version is supported until the next one is released, so a team on an older minor will need to move on a steady schedule. Envoy Gateway publishes a compatibility matrix between its releases, Envoy Proxy and Kubernetes versions, which you should check against your cluster version before every upgrade. For Kong, confirm which line you are on: the open-source repository's releases stay on the 3.9 line, while the version support policy covers only Kong Gateway Enterprise, so an open-source deployment has no published support window to plan around.
Certificate handling and observability are the next recurring duties. Traefik includes Let's Encrypt support, including wildcard certificates, and exposes Prometheus and other metrics, which you should wire into your existing alerting before cutover. For Envoy Gateway and Kong Ingress Controller, confirm how TLS secrets are issued, rotated and reloaded in your environment, and which metrics endpoints are available for scraping. Keeping configuration in Git is the control that makes the rest manageable. Kong's decK tool exports and syncs declarative files, and Envoy Gateway supports installation with Helm, Argo CD or Flux CD, so decide which of these fits your GitOps practice and who approves changes.
Several factors push this effort up. Running the old Ingress NGINX controller alongside the new one during migration doubles the number of components to patch, monitor and document until the last route moves. An air-gapped install adds work because you must mirror images, charts and any extension artifacts into your registry and repeat that for every upgrade; Envoy Gateway documents an air-gapped deployment guide that you should review early. Finally, ask each vendor or project to confirm its end-of-support dates, release cadence and security advisory channel in writing, and build those dates into your change calendar before you commit to a controller.
Questions buyers ask before hiring outside help
What does an Ingress NGINX migration cost, and what does the quote cover?
Cost depends on the written scope, which is the only basis for a quote. DeployOpen does not publish a price list. Most engagements are fixed-scope, so scope, deliverables and timelines are agreed in writing before work starts. Ask the quote to list the controllers and clusters in scope, the number of Ingress objects and annotations to convert, any custom snippets, the authentication flows to rebuild, the testing and cutover steps, and the documentation handed over. Ongoing support, upgrades and continuous testing are separate retainers, so ask whether they are included or quoted apart. Your own internal time for change approvals and application owner testing is a cost the quote will not cover.
How long does an Ingress NGINX migration take?
The timeline is driven by the work in your clusters, not by a fixed duration. The main drivers are the number of Ingress resources, how many ingress-nginx annotations each one uses, whether you rely on custom configuration snippets that need rewriting, and how many authentication and authorization flows must be rebuilt on the new controller. Traefik documents support for many ingress-nginx annotations, which can reduce conversion work, but you still need to test each route. Envoy Gateway and the Kong Ingress Controller use Gateway API resources or their own configuration, so rules are translated rather than copied. Ask for a timeline that breaks out inventory, conversion, testing, parallel running and cutover.
What does the migration need from our team?
Plan for access and decisions, not just effort. The engagement needs cluster access with appropriate permissions, a current inventory of Ingress objects and annotations, and a named owner for each application. You must own or control the DNS records and TLS certificates that point at the current controller, because cutover changes where traffic lands. Agree change windows with application owners in advance, and confirm who approves production changes. Ask whether the work runs in your cloud account, data center or air-gapped network, since that affects tooling and access paths. Good preparation shortens the scoping phase and reduces surprises at cutover.
Can our platform team migrate off Ingress NGINX without outside help?
Yes, many platform teams can, provided they have Kubernetes depth and time to test. Start by confirming your current version and inventory. Kubernetes SIG Network and the Security Response Committee announced on November 11, 2025 that Ingress NGINX would get best-effort maintenance until March 2026 and then no further releases, so plan within that reality. Envoy Gateway publishes guides for migrating from Ingress resources, and Traefik documents its ingress-nginx annotation support. Outside help makes most sense when you have many clusters, complex snippets, regulated change control, or no spare capacity for parallel running and rollback testing. Your team will still own operations after handover.
Are our existing Ingress NGINX clusters at risk today?
Existing deployments keep working after retirement, but they stop receiving updates. The Kubernetes blog states that after March 2026 Ingress NGINX gets no further releases, bug fixes or security updates. That makes the risk a patching and exposure risk that grows over time, not an immediate outage. Your security team should record the running version, assess internet exposure and any known issues in the components you run, and decide on a replacement path with a date. The InGate project, once planned as a successor, never matured and is also being retired, so do not wait for it. Confirm the exact risk with your own vulnerability management process.
Which license questions should we confirm before choosing a commercial tier?
Confirm the license of each component you will run, and which features sit behind a paid edition. The Kong Gateway open-source repository is Apache-2.0, but its releases stay on the 3.9 line, while newer releases ship in Kong Gateway Enterprise. Kong's pricing page states that fully self-hosted gateways with a local control plane and data plane are part of the commercial offering. Traefik Proxy is MIT-licensed, but Traefik Hub and Traefik Enterprise are separate products. Envoy Gateway and the Kong Ingress Controller are Apache-2.0. Ask each vendor in writing which features, support windows and deployment modes your design needs, and whether any of them requires a commercial license.
How DeployOpen scopes and delivers an Ingress NGINX migration
DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside the client's own clusters and networks. Engagements for Ingress NGINX replacements start with a written, fixed scope that covers the candidate controller, the cluster and the cutover plan.
How we scope
- Inventory every Ingress NGINX annotation, snippet and custom template your clusters actually use.
- Agree in writing which controller, Gateway API resources and TLS setup are in scope.
- Confirm the cutover window, rollback path and environments that must be covered before work starts.
How we build
- Deploy the chosen replacement alongside the existing controller so traffic can move route by route.
- Translate Ingress rules and annotations into the target controller's configuration, then test each route.
- Harden the new gateway with the authentication, TLS and rate limiting controls your policies require.
How we hand over
- Document the final configuration, deployment method and every annotation that changed meaning.
- Deliver runbooks for upgrades, certificate rotation, rollback and day-to-day troubleshooting.
- Provide compliance-ready evidence of configuration and testing, while auditors and certification bodies issue any assessment.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover.
- Plan controller version upgrades against the release and support windows your chosen project publishes.
- Ask any provider, including DeployOpen, to confirm response scope and upgrade responsibility in the written quote.

