Introducing kongctl
One of Kong Gateway’s superpowers is deck
, our first-party declarative configuration tool. Tens of thousands of developers all around the world have embraced a text-driven, version-controlled configuration workflow for the world’s most used API Gateway.
The deck
CLI is an incredible tool, but it only works for Kong Gateway. As we’ve expanded our product offering, we’ve leaned into existing infrastructure-as-code tools, such as Terraform, to enable users to configure them declaratively. This works fantastically well for existing Terraform users, but there’s a learning curve for new users.
With this in mind, we’ve started building a new, Konnect-first CLI that handles declarative management for all products. Today, it supports Control Planes and Developer Portal, but in the coming months, we’ll get to 100% product coverage.
Built for developers
We’ve taken the best parts of Terraform, deck
, the AWS CLI, and more of your favorite tools and combined them into something that’s really special.
kongctl
takes inspiration from the AWS CLI, with support for profiles. Profiles are configuration sets that allow you to easily switch between different settings with the KONGCTL_PROFILE
environment variable or the —profile
flag. You may choose to create profiles for your different Konnect Organizations or different profiles for your development machine vs the one you run in CI/CD pipelines.
Inspiration comes from kubectl
, with support for imperative commands allowing you to work with your resources quickly. Need the list of your Developer Portals? kongctl’s logical verb [noun…] command pattern yields the easy-to-remember kongctl get portals
, giving you the list quickly in JSON, YAML, or simple text output formats.
GitHub provides inspiration with the very handy api
subcommand, giving you direct access to explore the Konnect API without worrying about managing authentication. Want to see the raw return values from the Developer Portal API? kongctl api /v3/portals
.
kongctl
is a tool built by developers, for developers.
Declarative configuration for Konnect
One of the things we repeatedly hear about deck
is how simple it is to use. There’s no state file to manage, and you can run deck gateway sync
in CI and it will figure out everything it needs to do.
kongctl
takes this model and applies it to all of Konnect, with a couple of improvements to help users understand what is happening. We’ll provide a deep-dive explanation about some of the key changes in a future post, but for now here’s a video of how simple it is to manage Konnect declaratively with kongctl
:
Ask Kai
If you watched the API Summit keynotes, you may have seen Kai, Kong’s AI assistant. kongctl
provides an interactive terminal user interface, giving you a familiar turn-based chat with the AI assistant. Specify context, ask questions, and manage your Konnect infrastructure in a friendly conversational style.
And more!
We’re just scratching the surface of what kongctl
will enable over the coming months and years. We’re taking our time and making sure that we build the workflows we’ve seen from users over the years as first-class citizens in kongctl
.
The deck
CLI is still our first choice tool for configuring Kong Gateway. Eventually, we’ll add API Gateway support to kongctl
, but rest assured that deck
will be supported for years to come.
You’ll see kongctl
appearing in demo videos and on https://developer.konghq.com in the near future, and we’d love it if you gave it a go and told us what you like, what you don’t, and what functionality you wish it had.