- 
                Notifications
    You must be signed in to change notification settings 
- Fork 44
GatewayConfig
        Thiago Bustamante edited this page May 18, 2017 
        ·
        30 revisions
      
    This 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 | 
| cors | CorsConfig | Configure default cors support for API requests. It can be configured also in the API configuration. | false | 
Example:
{
    "gateway": {
        "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"
                    }
                }            
            }
        ]
    }
}