---
title: "A New Kubectl Plugin for Kubernetes Ingress Controller ingress-nginx"
description: "Shopify contributed a kubectl plugin to ingress-nginx, an open-source Kubernetes Ingress controller built on NGINX, because debugging and upgrading the heavily used controller often required long, frustrating sequences of kubectl commands. The plugin’s lint subcommand identifies ingress configuration that may need changes for a new release, while richer ingress listings expose individual paths, target services, and TLS configuration. It also wraps common kubectl operations, automatically selects an ingress pod, and helps inspect generated nginx.conf and dynamic configuration managed with openresty lua-nginx-module. The author reports substantially faster upgrades and debugging, comparing a rollout to version 0.24.1 with an earlier upgrade to 0.22.0 that took days, while acknowledging that growing Kubernetes expertise also contributed. Released with ingress-nginx 0.24.0, the plugin should also be compatible with 0.23.0."
---

# A New Kubectl Plugin for Kubernetes Ingress Controller ingress-nginx

[Shopify](https://yomu.fyi/company/shopify) · 2023-10-18 · May 1, 2019

**Type:** Announcement

## Summary

Shopify contributed a kubectl plugin to ingress-nginx, an open-source Kubernetes Ingress controller built on NGINX, because debugging and upgrading the heavily used controller often required long, frustrating sequences of kubectl commands. The plugin’s lint subcommand identifies ingress configuration that may need changes for a new release, while richer ingress listings expose individual paths, target services, and TLS configuration. It also wraps common kubectl operations, automatically selects an ingress pod, and helps inspect generated nginx.conf and dynamic configuration managed with openresty lua-nginx-module. The author reports substantially faster upgrades and debugging, comparing a rollout to version 0.24.1 with an earlier upgrade to 0.22.0 that took days, while acknowledging that growing Kubernetes expertise also contributed. Released with ingress-nginx 0.24.0, the plugin should also be compatible with 0.23.0.

## Context

Shopify’s extensive use of ingress-nginx made the quality of its debugging experience important. Upgrades and investigations previously required complex kubectl commands, exporting ingress resources, manually searching YAML, selecting pods, and filtering command output.

## Approach / What changed

A kubectl plugin was contributed to ingress-nginx with a lint subcommand, detailed ingress listings, wrappers for common controller commands, automatic ingress-pod selection, and access to generated nginx.conf and dynamic configuration.

## Takeaways

- The lint subcommand reduces upgrade analysis by identifying ingress configuration that may require changes for a new ingress-nginx release.
- Detailed ingress listings show individual paths, the services they target, and whether TLS is configured.
- The plugin can inspect controller-generated nginx.conf and dynamic configuration managed through openresty lua-nginx-module.

**Tags:** [ingress-nginx](https://yomu.fyi/topic/ingress-nginx), [Kubernetes](https://yomu.fyi/topic/kubernetes), [nginx](https://yomu.fyi/topic/nginx)

- Source: [Shopify](https://shopify.engineering/kubectl-plugin-kubernetes-ingress-controller-ingress-nginx)
- Source URL: https://shopify.engineering/kubectl-plugin-kubernetes-ingress-controller-ingress-nginx
- Ingested by Yomu: 2026-08-31T01:14:22.487Z

[Read original post](https://shopify.engineering/kubectl-plugin-kubernetes-ingress-controller-ingress-nginx)
