Switching from Production Mode to Development Mode

After installation, to prevent unwanted changes to the configuration, IG is by default in production mode. Access is restricted as follows:

  • The /routes endpoint is not exposed.

  • You cannot manage, list, or even read routes through Common REST.

  • Studio is effectively disabled.

  • The /share and api/info endpoints are exposed only to the loopback address.

Switch to development mode in one of the following ways, applied in order of precedence:

  1. Add the following route to IG, and restart IG:


      "mode": "DEVELOPMENT"
      "mode": "DEVELOPMENT",
      "connectors": [
        { "port" : 8080 }

    For more information, see "AdminHttpApplication (admin.json)"

  2. Define an environment variable for the configuration token ig.run.mode, and then start IG in the same terminal.

    If mode is not defined in admin.json, the following example starts a standalone instance of IG in development mode:

    $ IG_RUN_MODE=development /path/to/identity-gateway/bin/start.sh
  3. Define a system property for the configuration token ig.run.mode when you start IG.

    If mode is not defined in admin.json, or an IG_RUN_MODE environment variable is not set, the following file starts a standalone instance of IG with the system property ig.run.mode to force development mode:

    export JAVA_OPTS='-Dig.run.mode=development'

For information about restricting access to Studio in development mode, see Restricting Access to Studio. For information about switching back to production mode, see "Switch From Development Mode to Production Mode".

Read a different version of :