Kong is an open-source microservice API gateway and platform. Edge Xpert uses Kong as a component of the API gateway, as described below:

Service Version Description
kong-db postgres:9.5 The database used by Kong
kong kong:1.0.3 The main Kong service, which performs the migrations bootstrap and then runs Kong
edgex-proxy   The tool used to initialise and manage Kong for Edge Xpert

Both the kong-db and kong services are started when the --kong flag is passed.

edgx-proxy is a command line tool with the following options for managing the Kong deployment:

Option Description
-h or --help Displays the help for the edgex-proxy CLI
--consul=true/false Specifies whether to retrieve configuration from Consul
--insureskipverify=true/false Specifies whether to skip the server-side SSL certification verification; this is similar to the -k cURL option
--init=true/false Indicates whether to intialize the security service
--reset=true/false Indicates whether to reset the security service to initialization status
--useradd=<username> Creates an account and returns a JSON Web Token (JWT)
--group=<groupname> Defines the Group to which the user belongs
--userdel=<username> Deletes the specified user account
--configfile=<file.toml> Defines a TOML configuration file to use. By default, the res/configuration.toml file is used

To initialize the Kong service, use the following command:

edgexpert run edgex-proxy --init=true

The admin user account, and any user account belonging to the admin Group, has access to all services. To give permissions to other user accounts, configure the acl plugin as described in the Kong documentation.