REST Service Configuration (nuodb-rest-api.yml)

The nuodb-rest-api.yml file contains configuration parameters used by the NuoDB Home menu. When editing this and other configuration files, be careful to ensure consistency across the various configuration files in the NUODB_HOME/etc directory, specifically with regard to shared configuration in the default.properties files.

Location

The nuodb-rest-api.yml file is found in NUODB_HOME/etc.

Modifying nuodb-rest-api.yml

nuodb-rest-api.yml is a standard YAML file. It is meant to be easily edited by the user but some fundamental understanding of the organization of YAML files is recommended.

File Format

The nuodb-rest-api.yml file is organized into the following three blocks:

The nuoDBConfiguration block is specific to NuoDB. The other two blocks set properties for Dropwizard, which is a third-party utility used by NuoDB. The nest section describes the nuoDBConfiguration block. For more information about Dropwizard settings, see the Dropwizard User Manual.

nuoDBConfiguration

The nuoDBConfiguration block governs information about the NuoDB domain.

Key Default Value Description
propertyProvider com.nuodb.agent.plugin.URLPropertiesProvider Optional property provider plugin class which implements the interface com.nuodb.agent.PropertiesProvider. You can use the same plugin class that is supported by the propertyProvider JVM option for the NuoDB broker (set, for example, in jvm-options). Only the domainPassword property is read and copied into the password property. Set propertyProvider to none to skip the property provider plugin class. For more information, see PropertiesProvider Interface Class.
username blank NuoDB domain user name. If blank, then REST service will use the default user name, domain.
password blank NuoDB domain user password. If blank, then REST service will load the NUODB_HOME/etc/default.properties and use the domainPassword property value there.
broker localhost NuoDB broker address. It is recommended that this be changed from localhost to a specific IP address or domain name, for more accurate reporting of hosts and processes.
port 48004 NuoDB broker port
metricsCacheSize 20 The number of query results to keep in the metrics cache.
metricsCacheExpirySecs 10 The number of seconds before the query results should be removed from the metrics cache.
productionMode false This governs the contents of the NuoDB Home menu. If productionMode is set to true, only the NuoDB Home, Documentation, KnowledgeBase, TechBlog, and menu items are displayed.
nuoWebAppPort 8888 This the the default port on which the SQL QuickStart demos run.
nuoProxyPort 9001 For internal use.
periodicResynchIntervalSecs 600 The REST service disconnects/reconnects from its connected broker every periodicResynchIntervalSecs seconds in order to refresh its local domain, providing protection from stale domain state. The default is every ten (10) minutes.
authCacheEnabled true If set to false, then every REST API access will require a roundtrip from the REST service to its connected broker to perform user authentication. If set to true, then the REST service will cache the authorized credentials up to authCacheExpirySecs seconds. An unauthorized user is not cached (blacklisted) which can be used to perform DDOS attack on the broker.
authCacheExpirySecs 60 When authCacheEnabled is true, successfully authenticated users are cached in the REST service up to authCacheExpirySecs seconds.

Example

# NuoDB options
nuoDBConfiguration:
  # NuoDB domain user name. If blank, then Rest Svc will use the default
  # domain user, "domain". Note that the "domain" property in the
  # ./etc/default.properties file specifies the name of the domain.
  username:
  password:
  broker: localhost   # NuoDB broker address
  port: 48004         # NuoDB broker port
  metricsCacheEnabled: true
  metricsCacheSize: 20
  metricsCacheExpirySecs: 10
  productionMode: false  # whether the shared header should hide non-production tools
  nuoWebAppPort: 8888 
  periodicResynchIntervalSecs: 600 # 10 minutes
  authCacheEnabled: true
  authCacheExpirySecs: 60