Skip to main content

kongctl - 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)

Project details


Download files

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

Source Distribution

kongctl-0.3.4.tar.gz (15.0 kB view hashes)

Uploaded Source

Built Distribution

kongctl-0.3.4-py2.py3-none-any.whl (16.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page