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.6-alpine The database used by Kong. Before starting kong-db, you must specify a password; to do this, use the export KONG_POSTGRES_PASSWORD=<kong-db_password> command to set the KONG_POSTGRES_PASSWORD
kong kong:1.4.0 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


Kong is only available on x86_64 installations.

Both the kong-db and kong services are started when the --kong flag is passed.By default, the kong microservices uses the following ports:

  • 8686 for proxying HTTP traffic
  • 8443 for proxying HTTPS traffic

edgex-proxy is a command line tool, which is run using the following edgexpert CLI command:

edgexpert run edgex-proxy <option>

The options for managing the Kong deployment are as follows:

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

For further information on the edgexpert CLI tool and its options, see Edge Xpert Command Line Interface Tool.

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.