Skip to content

GatewayConfig

Thiago Bustamante edited this page May 18, 2017 · 30 revisions

Thins is the Gateway config descriptor. It can be configured inside tree-gateway.json file or passed directly to SDK.gateway.updateConfig() method.

It support the following properties:

Property Type Description Required
protocol ProtocolConfig The gateway protocol configuration. true
underProxy boolean If we are behind a reverse proxy (Heroku, Bluemix, AWS if you use an ELB, custom Nginx setup, etc). false
logger LoggerConfig Configurations for gateway logger. false
accessLogger AccessLoggerConfig Configurations for gateway access logger. false
statsConfig StatsConfig Configurations for gateway access logger. false
monitor MonitorConfig[] Create monitors to actively collect some stats. false
admin AdminConfig If provided, Configure the admin service for the gateway. false

Example:

{
    "protocol": {
        "http": {
            "listenPort": 8000
        }
    },
    "admin": {
        "protocol": {
            "http": {
                "listenPort": 8001
            }
        },
        "accessLogger": {
            "msg": "HTTP {{req.method}} - {{res.statusCode}} - {{req.url}} ({{res.responseTime}}ms) ",
            "console": {
                "timestamp": true,
                "colorize": true
            }
        },
        "userService": {
            "jwtSecret": "secret"
        }
    },
    "logger": {
        "level": "info",
        "console": {
            "colorize": true
        },
        "file": {
            "timestamp": true,
            "outputDir": "./logs",
            "json": false, 
            "prettyPrint": true 
        }
    },
    "monitor": [
        {
            "name": "cpu",
            "statsConfig": {
                "granularity": {
                    "duration": "1 minute",
                    "ttl": "2 days"
                }
            }            
        }
    ]
} 
Clone this wiki locally