/konga

More than just another GUI to Kong Admin API

Primary LanguageJavaScriptMIT LicenseMIT

More than just another GUI to KONG Admin API Build Status Gitter chat

konga-logo.png

Dashboard

Konga is not an official app. No affiliation with Mashape.

Konga is not compatible with current Kong 0.10.x versions. An update is underway but I cannot guarantee a release date.

Summary

Discussions & Support

If you need to discuss anything Konga related, we have a chatroom on Gitter:

Gitter chat

Features

  • Manage APIs and plugins
  • Manage consumers, groups and credentials
  • Mass import consumers from :
    • CSV document
    • Google Spreadsheets
    • MySQL
    • MongoDB
    • more underway...
  • Multiple nodes management
  • GUI level authentication
  • Multiple users (Only admin and user roles for now)
  • Utilities API

Compatibility

Konga is built and tested on Kong 0.9.x but it probably works with older versions as well. Feedback on older versions compatibility is welcome.

Prerequisites

Used libraries

Installation

Install npm and node.js. Instructions can be found here.

Install bower, gulp and sails packages.

$ npm install bower gulp sails -g
$ git clone https://github.com/pantsel/konga.git
$ cd konga
$ npm install

This will install all frontend and backend dependencies. If for some reason this fails, try running $ npm install in /backend and /frontend separately

Configuration

You can configure your backend and frontend applications to use your environment specified settings.

Backend

There is an example of backend configuration file on following path.

/backend/config/local_example.js

Just copy this to /backend/config/local.js and make necessary changes to it. Note that this local.js file is in .gitignore so it won't go to VCS at any point.

Frontend

There is an example of front configuration file on following path.

/frontend/config/config_example.json

Just copy this to /frontend/config/config.json and make necessary changes to it. Note that this config.json file is in .gitignore so it won't go to VCS at any point.

Notes

If you're changing your backend API url to another than http://localhost:1337 you need to make frontend/config/config.json with proper content on it. Use that example file as start.

Running Konga

Development

$ npm start

Konga GUI is available at http://localhost:3001

You can also start frontend and backend separately

$ cd frontend
$ gulp serve
$ cd backend
$ sails lift

Production

$ cd frontend
$ gulp dist

This will create production-ready static code to frontend/dist ready to be served by any web server

$ npm run production

Konga GUI is available at http://localhost:3000

You can also start frontend and backend separately

$ cd frontend
$ gulp production
$ cd backend
$ sails lift --prod

Production Docker Image

Environment variables

Env var Description
KONGA_BACKEND_URL The full URL of Konga's backend server component

The following instructions assume that you have a running Kong instance following the instructions from Kong's docker hub

$ docker pull pantsel/konga
$ docker run -p 3000:3000 
             -p 1338:1338 
             -e KONGA_BACKEND_URL={Konga's backend url} 
             --link kong:kong
             --name konga
             pantsel/konga

The GUI will be available at http://{your server's public ip}:3000 Login, go to settings -> new node and add http://kong:8001 for Kong Admin URL.

Login

Admin login: admin | password: adminadminadmin

Demo user login: demo | password: demodemodemo

More Kong related stuff

ToDo

  • Complete tests
  • Add more consumer import adapters (?)
  • Write a detailed Wiki
  • Move API to it's own module so that it can be lifted on a different port - See kong-admin-proxy

Author

Panagis Tselentis

License

The MIT License (MIT)
=====================

Copyright (c) 2015 Panagis Tselentis

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.