I have Kong running in a Kubernetes cluster (DB-less) and am using decK for managing the entity configuration. I have a pipeline for applying the configuration using decK that performs a
diff and then an approval stage for applying the config using
sync if the engineer is happy with the output of the
diff stage. I also have a pipeline for detecting drift in configuration as per the best practices.
All of the decK guides I have found so far assume that Kong is already running. My question is about applying configuration when deploying Kong. Let’s say I want to make a change to the gateway itself, for example changing
KONG_PLUGINS and the Docker image version to enable a new plugin. When I deploy Kong I use an approach that results in no downtime of the proxy instance, like rolling releases, but since the instance is DB-less the new deployment has no configuration and will therefore start returning 404s to any traffic.
How can I apply the decK configuration when deploying Kong to prevent the proxy instance from ever being in an “unconfigured” state?