View on GitHub

decK

Declarative configuration for Kong and Kong Enterprise

Frequently Asked Questions (FAQs)

I use Terraform to configure Kong, why should I care about decK?

If you are using Terraform and are happy with it, you should continue to use it. decK covers all the problems that Terraform solves and goes beyond it:

Can I run multiple decK processes at the same time?

NO! Please do not do this. The two processes will step on each other and might corrupt Kong’s configuration. You should ensure that there is only one instance of decK running at any point in time.

When is decK v1.0 coming out?

decK is already used in production by a large number of users and is deemed production ready. decK v1.0 status will be a matter of feature completeness rather than stability.

At the minimum, decK needs thorough documentation, and complete compatibility with Kong’s native declarative format.

This is one of the top priorities as of November 2019.

Kong already has built-in declarative configuration, do I still need decK?

Kong has an official declarative configuration format.

Kong can generate such a file with the kong config db_export command, which dumps almost the entire database of Kong into a file.

You can use a file in this format to configure Kong when it is running in a DB-less or in-memory mode. If you’re using Kong in the DB-less mode, you don’t really need decK.

But, if you are using Kong along-with a database like Postgres or Cassandra, you need decK because:

However, decK has the following limitations which might or might not affect your use-case:

I’m a Kong Enterprise customer, can I use decK?

Of course, decK is designed to be compatible with open-source and enterprise versions of Kong.

I use Cassandra as a data-store for Kong, can I use decK?

You can use decK with Kong backed by Cassandra. However, if you observe errors during a sync process, you will have to tweak decK’s setting and take care of a few things: decK heavily parallelizes its operations, which can induce a lot of load onto your Cassandra cluster. You should consider:

Why the name ‘decK’?

It is simple, short, and easy to use in the terminal. It is derived from the combination of words ‘declarative’ and ‘Kong’.