Kongverge is a command-line tool written in .NET Core 2.1. It is used to configure a kong server by moving its state into sync with the “desired state” given in configuration files.

Kongverge uses several ‘data transfer objects’ to read from files and write to Kong (and vice versa). For simplicity, the field names on these objects generally match what is present in Kong:

  • KongConfiguration
  • KongRoute
  • KongService
  • KongPlugin

These objects also handle matching - i.e. reconciling the state described by files with the state in Kong, and performing actions in Kong as needed to make them the same. The possible cases for these objects are:

  • Unchanged; The object in Kong is identical to the object in config, so no action is required.
  • Changed; the object in Kong is matched with an object in config, but not all of the properties are the same. Action is required to update the object in place.
  • New; the object needs to be added to Kong.
  • Deleted; the object needs to be removed from Kong.

Documentation

A tutorial, installation steps and further information can be found here.