konfig-manager
Kong API Gateway Config Manager
Usage
$ npm install -g konfig-manager$ konfig COMMANDrunning command...$ konfig (-v|--version|version)konfig-manager/1.5.0 darwin-x64 node-v12.13.0$ konfig --help [COMMAND]USAGE $ konfig COMMAND...
Docker
Here's an example of how to use this library with docker multi stage:
FROM node:lts-alpine as konfig-manager RUN npm install -g konfig-manager@1.4.4 --production FROM kong:1.2.1-alpine as api-gateway COPY --from=konfig-manager /usr/local/ /usr/local/ ...
Custom configuration
This library allows you to replace content based on the resource type (plugins
, routes
, ...) when dumping and to perform substitutions based on environment variabled when running loading.
Here it follows a .konfigrc
example:
Load / sync with several files
You can run the command by passing the --file
several times to merge it.
konfig sync --file minimal-konfig.json --file konfig.json
NOTE: If duplicated id's are found in a collection, the data from the last file passed will be kept.
Commands
konfig dump
Dump available Kong data in a file
USAGE
$ konfig dump
OPTIONS
--file=file [default: konfig.json] name of file to be created as output
--url=url [default: http://localhost:8001] URL of the Kong Admin API
DESCRIPTION
It requests data from Kong API endpoints and save the results in a file.
See code: src/commands/dump.js
konfig flush
Flush available Kong data
USAGE
$ konfig flush
OPTIONS
--url=url [default: http://localhost:8001] URL of the Kong Admin API
DESCRIPTION
It requests the endpoints getting the available data and calls the DELETE endpoints.
See code: src/commands/flush.js
konfig help [COMMAND]
display help for konfig
USAGE
$ konfig help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
konfig load
Load available Kong data from a file
USAGE
$ konfig load
OPTIONS
--file=file [default: konfig.json] name of file to be loaded
--url=url [default: http://localhost:8001] URL of the Kong Admin API
DESCRIPTION
It gets data from a file and loads in Kong Admin API endpoints.
See code: src/commands/load.js
konfig sync
Sync data from file with a Kong Admin API
USAGE
$ konfig sync
OPTIONS
--file=file [default: konfig.json] name of file to be loaded
--url=url [default: http://localhost:8001] URL of the Kong Admin API
DESCRIPTION
It gets data from a Kong Admin API and sync based on the files provided.
See code: src/commands/sync.js