This document provides a high-level comparison of Koko and Kong Gateway's built-in Control-Plane.
The following key is used within the document:
- ❌ : Not supported and isn't likely to be supported.
- ✔️ : Supported
- 📆 : Planned for a future release
Feature | Kong's builtin CP | Koko |
---|---|---|
Core API | ||
Existing HTTP Admin-API | ✔️ | 📆 |
All core entities | ✔️ | ✔️ |
Auth plugins | ✔️ | 📆 |
decK integration | ✔️ | 📆 |
Tag-based filtering | ✔️ | ✔️ |
New versioned Admin-API | ❌ | ✔️ |
gRPC Admin API | ❌ | ✔️ |
Admin API language-specific clients | ❌ | 📆 |
Storage | ||
Postgres | ✔️ | ✔️ |
SQLite | ❌ | ✔️ |
MySQL | ❌ | ✔️ |
MariaDB | ❌ | 📆 |
SQL Server | ❌ | 📆 |
CockroachDB | ❌ | 📆 |
Plugins | ||
Plugins with Lua-schemas | ✔️ | ✔️ |
OpenResty-specific schema validations | ✔️ | ❌ |
Plugins with Custom DAOs | ✔️ | ❌ |
Adopting standards | ||
JSON schemas for resources | ❌ | ✔️ |
OpenAPI spec | ❌ | ✔️ |
Observability | ||
Structured logs | ❌ | ✔️ |
Deep Prometheus metrics | ❌ | 📆 |
Distributed tracing (Admin) | ❌ | 📆 |
Data-plane | ||
wRPC-based DP communication | ✔️ | ✔️ |
Cluster state visibility | ❌ | ✔️ |
mTLS-based Data-Plane auth | ✔️ | 📆 |
Non mTLS-based Data-Plane auth | ❌ | 📆 |
k8s Gateway API integration | ❌ | 📆 |
Misc | ||
Secrets referencing | ✔️ | 📆 |
Version compatibility insights | ❌ | ✔️ |
All plugins, other than the ones noted below are supported by Koko.
The following plugins are not supported:
- acl
- basic-auth
- hmac-auth
- jwt
- key-auth
- oauth2
Of these, all plugins except the oauth2
plugin are planned for inclusion.
oauth2
plugin is not compatible with Hybrid mode of Kong and hence there are
no plans to support it.
If you have a question, please open a GitHub Issue in this repository.