I’ve released decK, a tool to manage Kong’s configuration using a declarative config file.
I’ve had this project on my personal project todo list for quite a while and
I finally had some time over the holidays to get it polished and out for a public release.
Here are some feature highlights:
Existing Kong configuration to a YAML configuration file This can be used to backup Kong’s configuration.
Kong’s database can be populated using the exported or a hand written config file.
Diff and sync capabilities
deck can diff the configuration in the config file and the configuration in Kong’s DB and then sync it as well. This can be used to detect config drifts or manual interventions.
deck supports a sync the other way as well, meaning if an entity is created in Kong and doesn’t add it to the config file, deck will detect the change.
This can be used to drops all entities in Kong’s DB and reset a Kong cluster.
All Admin API calls to Kong are executed in parallel using threads to speed up the sync.
- Routes and services
- Upstreams and targets
- Certificates and SNIs
- Plugins (Global, per route and per service)
More coming, check out the roadmap!
With deck, you can manage Kong’s configuration using a CI/CD pipeline and Git ops, move and sync configuration between multiple Kong clusters.
Detailed documentation is in progress and will be released soon. Stay tuned!
Meanwhile, download the binary, give it a spin and let me know your thoughts!
Please note that this is not an official tool from Kong Inc.