Skip to content

mchlumsky/kongvisor

Repository files navigation

KongVisor

kongvisor

Release codecov Software License Build status Powered By: GoReleaser BuyMeACoffee

KongVisor is a TUI for Kong Gateway Admin API.

It supports managing Kong Gateway resources like Workspaces, Services, Routes, and Plugins in a terminal user interface.

KongVisor is tested with Kong Enterprise versions 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 and Kong OSS versions 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8 and 3.9.

Demo

Listing resources

List resources (workspaces, services, routes, plugins). To see services in a workspace, scroll down to the workspace and press "s". To see routes in a service, scroll down to the service and press "r". To see plugins in a workspace, service or route, scroll down to the workspace, service or route and press "p".

Listing resources

Viewing resources

View resource details (in YAML of course!). Scroll down to the resource you want to see and press "y". Press esc to go back.

Viewing resources

Deleting resources

Delete resources (without confirmation). Scroll down to the resource you want to delete and press "Ctrl-d".

Deleting resources

Editing resources

Edit resources (in your favorite editor defined by the $EDITOR environment variable). Scroll down to the resource you want to edit and press "e".

Editing resources

Clearing filters

Let's say you have filtered the list of plugins by service and route like this:

Workspace[default] > Service[foo] > Route[firstFoo] > Plugins

If you want to see plugins applied to the service, then you can clear the route filtering by pressing capital R which will result in:

Workspace[default] > Service[foo] > Plugins

In the same fashion, you can clear the service and workspace filters by pressing capital S and capital W respectively.

Installation

YUM/DNF repository (Fedora, CentOS, etc...)

To enable, add the following file /etc/yum.repos.d/mchlumsky.repo:

[mchlumsky]
name=mchlumsky repository (kongvisor, etc...)
baseurl=https://yum.fury.io/mchlumsky/
enabled=1
gpgcheck=0

and

dnf install kongvisor
# or
yum install kongvisor

APT/DEB repository (Debian, Ubuntu, etc...)

To enable, add the following file /etc/apt/sources.list.d/mchlumsky.list:

deb [trusted=yes] https://apt.fury.io/mchlumsky/ /

and

apt update
apt install kongvisor

Zypper repository (OpenSUSE)

To enable, run the following command:

zypper addrepo --no-gpgcheck https://yum.fury.io/mchlumsky/ mchlumsky
zypper install kongvisor

Binary Releases

Download and install a prebuilt binary from github releases

From source

Install from source:

go install github.com/mchlumsky/kongvisor@latest

Configuration

KongVisor supports multiple Kong Gateways, each with its own configuration.

It will read this file to find the Kong Gateway Admin API URLs and tokens.

Configuration goes into $HOME/.config/kongvisor/config.yaml.

Example configuration:

kong-gateway-1: # name of a kong gateway
  url: http://kong-gateway-1.domain:8001 # Kong Admin API URL
  kongAdminToken: secret-token # Kong Admin API token
kong-gateway-2:
  url: http://kong-gateway-2.domain:8001
  kongAdminToken: other-secret-token

Usage

Run KongVisor with the name of the Kong Gateway you want to manage:

kongvisor kong-gateway-1

Supported Kong entities matrix

Entity Supported
Workspace
Service
Route
Plugin
Upstream
ACL
API-keys
Admin
Audit Logs
Basic-auth credential
CA Certificate
Cache
Certificate
Clustering
Consumer group
Consumer
CustomPlugin
Debug
Degraphql_route
Event-hook
Group
HMAC-auth credential
Information
JWT
KeySet
Keyring
Key
License
MTLS-auth credential
OIDC JWK
Partial Link
Partial
RBAC
SNI
Tag
Vault

TODO

  • Support recursive deletion of resources (e.g. delete service and all its routes and plugins)

About

TUI for Kong Gateway Admin API

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors