Pivot server config
This information applies to on-prem Pivot instances unless otherwise noted.
You can configure the Pivot server by modifying the Pivot configuration file config.yaml
. The location of the file depends on the details of your implementation. For example:
$IMPLY_HOME/conf/pivot/config.yaml
$IMPLY_HOME/conf-quickstart/pivot/config.yaml
where $IMPLY_HOME
is the location of your Imply installation.
Pivot reads the configuration when it starts up. If you modify any properties in the file you must restart Pivot in order for the changes to take effect.
Command line overrides
You can run Pivot directly and use the --config
option to specify an alternative config file.
You can also override the following Pivot properties at the command line:
Property | Command line option |
---|---|
licenseFile | --license |
port | --port |
serverHost | --server-host |
serverRoot | --server-root |
userMode | --user-mode |
verbose | --verbose |
Example:
dist/pivot/bin/pivot --config conf/pivot/config-test.yaml --port 9096
See the following sections for more information on configuration options:
Pivot server configuration reference
You can specify the following configuration options in the config.yaml
file.
alertCheckInterval
Determines the interval at which to evaluate alerts.
- Type: Number or string
- Default:
30000
(milliseconds)
Set to 0
to disable the alerts feature and hide the alerts tab in the Pivot UI.
Set to manual
to enable alert evaluations for API requests only.
appName
Determines the name of the app on the login screen.
- Type: String
- Default: Imply
decorators
A set of key-value pairs defining the Druid decorator modules.
- Type: Object
Example:
decorators:
basicAuth: './basicAuthDecorator.js'
union: './unionDecorator.js'
defaultRole
Default role to attach to LDAP users. See ldapOptions
for more information.
defaultUserPermissions
The default roles Pivot assigns to users when userMode
is set to default-user
. See userMode
for more information.
- Type: Array of objects
- Value: One or more of the following user roles:
ManageUsers
ConfigureLookAndFeel
ManageConnections
ManageDatasets
AdministerDataCubes
AdministerDashboards
ChangeDataCubes
ChangeDashboards
SeeOtherUsers
AccessSQL
AccessVisualization
AccessDatasets
QueryRawData
See User roles for information on the individual roles.
The following example assigns all of the above roles, which is the same as enabling super-admin
access:
defaultUserPermissions:
- { name: 'ManageUsers' }
- { name: 'ConfigureLookAndFeel' }
- { name: 'ManageConnections' }
- { name: 'ManageDatasets' }
- { name: 'AdministerDataCubes' }
- { name: 'AdministerDashboards' }
- { name: 'ChangeDataCubes' }
- { name: 'ChangeDashboards' }
- { name: 'SeeOtherUsers' }
- { name: 'AccessSQL' }
- { name: 'AccessVisualization' }
- { name: 'AccessDatasets' }
- { name: 'QueryRawData' }
disableExternalEmails
Disables the ability to send alerts and reports to external email addresses.
- Type: Boolean
- Default:
false
disableXsrfLoginCheck
Disables the extra header used for cross-site request forgery (XSRF) protection in the Pivot login screen. You should only set this property to true
if you're doing a rolling deployment from 2.9.8 or below to 2.9.9 or above.
- Type: Boolean
- Default:
false
enableApiEndpoint
Allows access via the Pivot API. This flag also enables the token configuration view in the Pivot UI. The token is persistent—it doesn't time out or roll over.
- Type: Boolean
featureFlagsAvailabilityThreshold
Determines the level of preview features that appear in the Feature flags tab, where features can be enabled in the Pivot UI. Use in conjunction with featureFlagsDefault
.
- Type: String
alpha
: Alpha and beta features appears.beta
: Only beta features appear.none
: No preview features appear.
- Default:
alpha
See Feature flags for more information.
featureFlagsDefault
Determines whether to enable preview features in the Pivot UI. Use in conjunction with featureFlagsAvailabilityThreshold.
- Type: String
- Value:
enabled
ordisabled
- Default:
disabled
See Feature flags for more information.
forceNoRedirect
Forces the Pivot UI to always render the splash page without automatic redirect. Useful if you need to surface loginDisclaimerContent
on every login for compliance reasons.
- Type: Boolean
- Default:
false
healthRoute
The health route that returns a 200 OK
status code. You can use this property in a load balancer to check that the instance is healthy.
- Type: String
- Default:
health
helpCenterHref
Pivot link to the help center. If not set, the help centre link does not display in Pivot.
- Type: String
iFrame
Specifies whether Pivot allows embedding within an iFrame.
- Type: String
- Value:
allow
ordeny
If set to deny
, the Pivot server sets the following headers:
X-Frame-Options: "DENY"
Content-Security-Policy: "frame-ancestors 'none'"
This helps to prevent Clickjacking. Learn more about X-Frame-Options on MDN.
For more information, see the imply-iframe-examples repository.
initialSettings
A free form object that you can use to define Pivot's initial state on startup. Once the state store is populated, Pivot ignores this object.
- Type: Object
keepAlivePingInterval
Defines how often to ping long-running queries to ensure the connection stays open.
It can be useful to set this property with certain types of gateways and browsers that could otherwise time out and close the connection. Note that once the first keep alive is sent the status code is set to 200 OK
, even if the request eventually fails.
- Type: Number (milliseconds)
- Default:
5000
keepAliveTimeout
Sets the keep alive timeout on HTTP connections.
- Type: Number
ldapOptions
The options to pass to the LDAP server. Only applies when userMode
is set to ldap-authentication
. See userMode
and Manage users with LDAP for more information.
- Type: Object
- Value: You can provide any of the LdapAuth configuration options plus the following options:
rolesKey
: LDAP key from which to receive role information. The key value can be a string or an array of strings—strings split on (,
). The value is mapped to Pivot roles by theExternal ID
which can be configured in the role edit UI. Defaults todefaultRole
.groupKeyAttribute
: LDAP key of the group to map to the external role name of the Imply user role. Defaults todn
.
Example with roles taken from a memberOf
attribute:
ldapOptions:
url: 'ldap://ldap_host:389'
bindDN: 'cn=admin,dc=imply,dc=io'
bindCredentials: 'my-password'
searchBase: 'ou=people,dc=imply,dc=io'
searchFilter: '(uid={{username}})'
rolesKey: 'memberOf'
Example with roles taken from a separate group search:
ldapOptions:
url: 'ldap://ldap_host:389'
bindDN: 'cn=admin,dc=imply,dc=io'
bindCredentials: 'my-password'
searchBase: 'dc=imply,dc=io'
searchFilter: '(uid={{username}})'
groupSearchBase: 'ou=groups,dc=imply,dc=io'
groupSearchFilter: '(member={{dn}})'
groupSearchAttributes: ['dn', 'cn']
groupKeyAttribute: 'dn'
Before you configure this property, use the LDAP command line tool to confirm that your configuration works. For example:
ldapsearch -x -h ldap_host -p 389 -b "ou=people,dc=imply,dc=io" -D "cn=admin,dc=imply,dc=io" -w "my-password" "(uid=example-username)"
licenseFile
The license file Pivot uses.
- Type: String
linkHostName
The hostname in links that appear to users in Pivot alerts and reports. Populates the link
token that may appear in scheduled report and alert templates.
- Type: String
loginDisclaimerContent
Text to display on the Pivot login screen, below the username and password fields. You can use this property to add privacy or liability disclaimers.
- Type: String
maxAlertOccurrenceEntries
The maximum number of alert occurrences to store. Once the limit is reached, Pivot purges the oldest alerts.
- Type: Number
- Default:
500000
maxNumDownloadTasks
The maximum number of tasks to assign to Pivot async downloads.
Each async download performs one query if overalls aren't included in the download, and two if overalls are included.
Check your maximum number of task slots in the Druid console before you set this property, to ensure that you don't configure Pivot to use more than the maximum number of slots.
For example, if you have six available task slots, set this property to a maximum of three. Async download then uses three tasks for each of its two queries, making a total of six tasks for the download.
- Type: Number
- Default:
2
If there aren't enough available task slots for your download to complete, the download enters a pending
state until slots become available. Downloads can also prevent other tasks from running if all slots are in use.
maxReportInstanceEntries
The maximum number of reports to store. Once the limit is reached, Pivot purges the oldest reports.
- Type: Number
- Default:
500000