Skip to main content

kongcl - a CLI for kong admin interface.

Project description

A command line client for kong admin API

This tool ease kong management like getting routes for service name (not id):

kongctl -s https://localhost:8001 list routes -s example-service

1ba43640-6977-4d6a-9804-6e0032d77bb1: example-service
  example.com/

d091d9c4-fde8-4982-b984-8376bd544aaf: example-service
  example.com/api/v1

You can store your configuration in multiple yaml files and apply them individually. Let’s assume you have configuration like this:

_format_version: "1.1"

services:
  - name: orders-service
    url: http://kubernetes-inner.host:80/path-to-ns/orders
    routes:
      - name: orders-root
        strip_path: true
        hosts:
          - orders.example.com

    plugins:
      - name: jwt
        enabled: false
        route:
          name: orders-root

        run_on: first
        config:
          key_claim_name: iss
          cookie_names: {}
          secret_is_base64: false
          maximum_expiration: 0
          anonymous:
          run_on_preflight: true
          uri_param_names:
            - jwt

Now you can call the following command to apply it:

kongctl -s https://localhost:8001 ensure order-service.yaml

Installation

brew tap kepkin/kongctl
brew install kongctl

or

pip3 install kongctl

Quick guide to usage

mkdir ~/.kongctl
cat  > ~/.kongctl/qa-env << EOF
{
  "client": {
    "server": "https://my-kong.url:8001",
    "auth": {
      "password": "pass",
      "type": "basic",
      "user": "user"
    }
  },
  "var_map": {
    "VAR1": "VALUE1",
    "VAR2": "VALUE2"
  }
}
EOF

kong -c qa-env list services

TODO

  • Support for OIDC authorization
  • Get stubs for create operation
  • Support all key-auth like plugins
  • Support update from cmd args
  • Support yaml
  • Sort by id?
  • list command filter option
  • Autocomplete
  • Add images instead of code in README (to show color support)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for kongctl, version 0.3.2
Filename, size File type Python version Upload date Hashes
Filename, size kongctl-0.3.2-py2.py3-none-any.whl (16.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size kongctl-0.3.2.tar.gz (14.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page