konfig-manager
v1.5.0
Published
Kong API Gateway Config Manager
Downloads
7
Maintainers
Readme
konfig-manager
Kong API Gateway Config Manager
Usage
$ npm install -g konfig-manager
$ konfig COMMAND
running 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 [email protected] --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": {
"substitutions": {
"environment_variables": {
"enabled": true,
"white_list": ["SERVER_PROTOCOL", "SERVER_HOST", "SERVER_PORT"]
}
}
},
"dump": {
"substitutions": {
"plugins": {
"config": {
"introspection_endpoint": "${SERVER_PROTOCOL}://${SERVER_HOST}:${SERVER_PORT}/openid/introspect",
"discovery": "${SERVER_PROTOCOL}://${SERVER_HOST}:${SERVER_PORT}/openid/.well-known/openid-configuration"
}
},
"routes": {
"hosts": [
"${SERVER_HOST}"
]
}
},
"exceptions": {
"routes": [
{
"key": "name",
"value": "do-not-change-this-route"
}
]
}
}
}
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