Provisioning Kong custom plugin without pod restarts

Hi Team, I am trying to find a way to provision an in-house developed custom plugin in a prod environment which has Kong Ingress controller deployed and serving live traffics.

The existing way is by creating a Configmap with custom plugin code in the Kong’s namespace, load this configmap on the Kong pod and then updating the KONG_PLUGINS env to load this plugin.

I am curious to know if there is any other alternative because the above approach would result in restarting of the Kong pods which might be tricky in env having only one Kong pod instance.

I am looking for other alternatives here. Any help is appreciated here. Thanks in advance!

Maybe you can build a custom image and do a rolling upgrade?

Unfortunately, this isn’t an option for me as these are managed Kong APIGW instances by respective customer’s Ops team. What I’m trying here is to add some value proposition through custom plugins.

I was looking for a classical dynamic loading behaviour, where I could externalise my custom plugin onto some custom location (local/remote/url) which is known to the Kong instance.

Kong looks for and lazily loads this plugin upon its first need/request without me providing everytime the plugin name/details whenever there is a new custom plugin. I could just keep pushing custom plugins to the predefined custom location.

Is it something feasible?

Meanwhile, created a feature request - Support for dynamic loading of Kong custom plugins · Discussion #9147 · Kong/kong · GitHub