Configuration Guide

Koverse Server Configuration

The following subsections list the koverse server properties along with their default value and a description.

Core Properties

The properties control the core of the server operation.

property name default value description
com.koverse.addons.dir addons The directory, relative to the server install directory, where addons can be loaded from
com.koverse.server.password.hash.salt JKB//GmLoy8PpNCrt79PPg== The obfuscated salt to use for user passwords
com.koverse.license.verification 5631524b62324648536e526152336856566a46564f513d3d An obfuscated key used to verify and encrypt sensitive property values
com.koverse.server.logging.externalProcess.port 12400 The TCP/IP port used to route logging data from processes created by the server
com.koverse.lib.jar.path lib The directory, relative to the server install directory, where server library files are stored
com.koverse.server.security.auth.modules   Comma-separated list of java classes that define 3rd party authentication and authorization modules
com.koverse.server.authorizations.autoadd true Whether to automatically add a data store authorizations when a user tries to use one
com.koverse.server.import.withoutsecfield true Whether to import records without a security field or not
com.koverse.server.auth.useKoversePermission.required false Whether users need a special permission to use Koverse at all
com.koverse.server.query.allowTableScan true Allow inneficient queries to run that would normally require a composite index to be created
com.koverse.server.purgeJobsDate 30d Jobs older than this time will be deleted from the server, may also use “h” or “m” for hours or minutes (e.g. 12h)
instancePrefix kv In a multi-tenant setup, this prefix identifies each tenant
settingsSavedOnce true Deprecated setting, just always leave it as “true”
disableAutomaticSupportReport true Koverse can send support reports through email, it is disabled by default
defaultDataCollectionFieldStatsMinimumExecutionPeriod 0 The minimum number of milliseconds required between executions of data collection field stats
defaultDataCollectionSamplingMinimumExecutionPeriod 0 The minimum number of milliseconds required between executions of data collection sampling jobs
defaultDataCollectionSchemaMinimumExecutionPeriod 0 The minimum number of milliseconds required between executions of data collection schema jobs
logoffDisabled false Deprecated property, has no effect
accountMenuDisabled false Deprecated property, has no effect
usersCanChangePassword true Whether to allow a user ot change his or her own password. In PKI environments, it makes no sense for the user to change their password
usersCanEditAccountDetails true Deprecated property, has no effect
temporaryWorkingDirectory /var/tmp Deprecated property, has no effect
serializationMaxBufferSize 104857600 Buffer size in bytes to use for Kryo serialization
com.koverse.server.jmx.client.url   Deprecated property, has no effect
com.koverse.server.manager.notifications.intervalInSeconds 60 How often (in seconds) notifications that haven’t been retrieved are checked for expiration
com.koverse.server.manager.notifications.expirationInSeconds 600 How long (in seconds) a notification can go unretrieved until it expires
com.koverse.server.dataset.attributes.values.hide false Hide the values for Data Set overviews/attributes or not

Database Properties

These properties control how the server uses the backend RDBMS.

property name default value description
com.koverse.server.jdbc.user koverse The database user
com.koverse.server.jdbc.password dMvU/kr0e8muMC2fwpWukw== The encrypted data password
com.koverse.server.jdbc.url   The JDBC URL used to connect to the database
com.koverse.server.jdbc.acquireIncrement 3 How many connections to acquire for the connection pool at a time when one is needed
com.koverse.server.jdbc.initialPoolSize 3 The initial size of the connection pool
com.koverse.server.jdbc.maxPoolSize 15 The maximum size of the connection pool
com.koverse.server.jdbc.maxIdleTime 0 How long a connection stations in the connection pool before being discarded
com.koverse.server.jdbc.minPoolSize 3 The minimum possible size of the connection pool
com.koverse.server.jdbc.maxConnectionAge 0 How long a connection can stay in a pool, even if used
com.koverse.server.jdbc.maxIdleTimeExcessConnections 0 How long a connection can be idle before being removed from the pool

Hibernate Properties

These properties adjust how koverse uses the Hibernate Object-Relational framework

property name default value description
hibernate.c3p0.min_size 10 The minimum size of the C3P0 database connection pool
hibernate.c3p0.max_size 100 The maximum size of the C3P0 database connection pool
hibernate.c3p0.timeout 300 The maximum length of time a connection stays in the C3P0 database connection pool
hibernate.c3p0.max_statements 50 Number of prepared statements to cache at any one time
hibernate.c3p0.idle_test_period 3000 The maximum amount of time in ms that a connection can stay in the C3P0 database connection pool
hibernate.c3p0.numHelperThreads 10 The number of helper threads to use for slow asynchronous operations
hibernate.cache.provider_class org.hibernate.cache.NoCacheProvider The caching system to use
hibernate.id.new_generator_mappings true Whether to use Hibernate’s “new” generator mappings or not, you probably certainly do want to use them
hibernate.hbm2ddl.auto validate Whether Hibernate creates DDL or just validates the DDL. We use Liquibase to create the DDL, so Hibernate just verifies it
hibernate.show_sql false Log the SQL that Hibernate generates, only really useful for debugging purposes
hibernate.format_sql false Pretty print the show SQL, if SQL is being logged
hibernate.use_sql_comments false Show SQL comments, if SQL is being logged
hibernate.connection.driver_class org.postgresql.Driver The JDBC driver class to use, change it for your database. By default it is setup to use Postgres
hibernate.dialect org.hibernate.dialect.PostgreSQLDialect The Hibernate dialect, change it if you are not using Postgres

Thrift Properties

These properties control how the server uses its Thrift services

property name default value description
com.koverse.server.thrift.numberOfThreads 20 The number of threads to use to process the calls to each of the thrift services
com.koverse.server.thrift.socketTimeoutSeconds 0 The maximum socket timeout for a thrift call
com.koverse.server.thrift.maxBufferReadSizeBytes 1073741824 The amount of memory to use to process each thrift call
com.koverse.server.thrift.dataflow.port 12320 The TCP/IP port for the thrift dataflow service
com.koverse.server.thrift.usergroup.port 12321 The TCP/IP port for the thrift users and groups service
com.koverse.server.thrift.collection.port 12322 The TCP/IP port for the thrift data set service
com.koverse.server.thrift.audit.port 12323 The TCP/IP port for the thrift audit service
com.koverse.server.thrift.query.port 12324 The TCP/IP port for the thrift query service
com.koverse.server.thrift.admin.port 12325 The TCP/IP port for the thrift administration service
com.koverse.server.thrift.resource.port 12327 The TCP/IP port for the thrift resource service
com.koverse.server.thrift.addon.port 12328 The TCP/IP port for the thrift addon service
com.koverse.server.thrift.basic.addon.port 12330 The TCP/IP port for the thrift basic addon service
com.koverse.server.thrift.internal.port 12331 The TCP/IP port for the thrift Koverse internal service
com.koverse.server.thrift.notification.port 12331 The TCP/IP port for the thrift notification service

Metrics Properties

These properties control how the server reports metrics, both locally to a log and to external systems like Ganglia

property name default value description
com.koverse.server.metrics.logging.reporter.enabled false Whether local log metrics reporting is enabled
com.koverse.server.metrics.logging.reporter.periodInSeconds 30 At what interval to log reports
com.koverse.server.metrics.ganglia.reporter.enabled false Whether Ganglia reporting of metrics is enabled
com.koverse.server.metrics.ganglia.reporter.periodInSeconds 10 At what interval to report metrics to Ganglia
com.koverse.server.metrics.ganglia.reporter.host   The Ganglia host
com.koverse.server.metrics.ganglia.reporter.port 8649 The Ganglia port
com.koverse.server.metrics.ganglia.reporter.clientHostnameOverride   Override the client host name, leave blank to not overrride
com.koverse.server.metrics.ganglia.reporter.aggregationsWhiteList   An optional selection of aggragations to report on, leave blank to report all
com.koverse.server.metrics.ganglia.reporter.metricsWhiteList   An optional selection of metrics to report on, leave blank to report all

Spark Properties

These properties control how the server interacts with Spark.

If the mode is set to ‘yarn’, the following MUST be done for it to work properly:

  1. The system environment variable ‘HADOOP_CONF_DIR’ must be set to the hadoop config directory (e.g. /etc/hadoop/conf) for the koverse server process
  2. The property ‘com.koverse.server.spark.dir’ must be set to the directory containing the spark install
property name default value description
com.koverse.server.spark.mode master Can be one of ‘master’ and ‘yarn’.
com.koverse.server.spark.master local If mode is ‘master’, specify what kind of master
com.koverse.server.spark.dir /opt/spark The directory where spark is installed

Data Store Properties

These properties control how the server uses the backend Data Store. At this time, the only type of data store supported is Accumulo.

property name default value description
dataStoreType ACCUMULO Only ACCUMULO is supported at this time
dataStoreSetting.instanceName koverse The Accumulo instance name
dataStoreSetting.username koverse The Accumulo user name
dataStoreSetting.password secret The Accumulo password
dataStoreSetting.zookeeperServers   The ZooKeepers used for Accumulo
dataStoreSetting.stringDelimiter _ Deprecated property, has no effect
dataStoreSetting.numberOfBuckets 4 Deprecated property, has no effect
dataStoreSetting.batchDurationSec 10 Deprecated property, has no effect
dataStoreSetting.clockDeltaBufferSec 5 Deprecated property, has no effect

Email Sending Properties

These properties control how the server sends email. Note that this capability is diabled by default.

property name default value description
smtpEnabled false Enable the server being able to send emails
koverseBaseURL http://koversevm:8080/Koverse The URL to send in the email for koverse
smtpServerHostName smtp.koverse.com The SMTP host name
smtpServerPort 465 The SMTP TCP/IP port
smtpUsername do-not-reply@koverse.com The SMTP user name
smtpPassword   The SMTP password
smtpFromEmailAddress do-not-reply@koverse.com The SMTP “from” email address
smtpConnectionType SSL The SMTP connection type, can be one of SSL, TLS, or plain

Kerberos Properties

These properties control the server’s integration with Kerberos. Note that this integration is disabled by default.

If you wish to integrate with Kerberos, be sure to use the following guidelines to define the Kerberos user and keytab path.

If the HADOOP_CONF_DIR environment variable is NOT set, these values will have no effect.

If you are NOT running in a Kerberized environment, still, do NOT leave these values as empty!

property name default value description
com.koverse.server.kerberos.accumulo.disable true Disables Kerberos integration
com.koverse.server.kerberos.user koverse@TEST.KOVERSE.COM The Kerberos user name/principal
com.koverse.server.kerberos.keytab.path /home/koverse/koverse.service.keytab The path for the Kerberos keytab file
com.koverse.server.kerberos.delay 3600 How often to run the kinit command, in seconds

Koverse Web App Configuration

The following subsections list the koverse webapp properties along with their default value and a description.

Core Properties

The properties control the core of the webapp operation.

property name default value description
com.koverse.webapp.showDemoTour false Whether to show a Koverse demonstraiton tour after the user logs in or not
com.koverse.webapp.googleAnalyticsId   A Google Analytics Identifier
com.koverse.webapp.demoMode false Whether Koverse is in demonstation mode
com.koverse.license.verification 5631524b62324648536e526152336856566a46564f513d3d An obfuscated license key that verifies Koverse installation and passwords
com.koverse.webapp.auth.modules com.koverse.webapp.security.DefaultAuthModule Comma separated list of guice modules that define auth module classes
com.koverse.webapp.record.modules com.koverse.webapp.record.DefaultWebAppRecordConverterModule Guice module for customized web app record converters
com.koverse.webapp.jetty.http.port 8080 The HTTP port to use
com.koverse.webapp.jetty.https.port 8443 The HTTPS port to yse
com.koverse.webapp.jetty.http.enabled true If HTTP protocol and port is used
com.koverse.webapp.jetty.https.enabled false If HTTPS protocol and port is used
com.koverse.webapp.jetty.tls.keystore   The Keystore used for HTTPS keys
com.koverse.webapp.jetty.tls.keystore.password   The password to the Keystore
com.koverse.webapp.jetty.tls.truststore   the truststore used for HTTPS certificates
com.koverse.webapp.jetty.tls.truststore.password   The password to the truststore
com.koverse.webapp.jetty.tls.needClientAuth false If using HTTPS, whether the client must use PKI auth or not
com.koverse.webapp.jetty.tls.validateCerts false If use HTTPS, whether to validate PKI certificates or not

Thrift Properties

The properties control the thrift-based communications of the webapp to the server.

property name default value description
com.koverse.server.thrift.host localhost The koverse server hostname
com.server.webapp.thrift.client.id defaultClient The client identifier to use to authenticate with the koverse server
com.server.webapp.thrift.client.password 7c7m2BWwMwLkRx1i+Kgiag== The encrypted password used to authenticate with the koverse server
com.server.webapp.thrift.client.poolSize 20 The size of the connection pool for each thrift service
com.koverse.client.thrift.socketTimeout 120 The TCP/IP socket timeout for connecting to the koverse server.
com.koverse.server.thrift.dataflow.port 12320 The TCP/IP port for the koverse server’s data flow service
com.koverse.server.thrift.usergroup.port 12321 The TCP/IP port for the koverse server’s user and group service
com.koverse.server.thrift.collection.port 12322 The TCP/IP port for the koverse server’s data set service
com.koverse.server.thrift.audit.port 12323 The TCP/IP port for the koverse server’s audit service
com.koverse.server.thrift.query.port 12324 The TCP/IP port for the koverse server’s query service
com.koverse.server.thrift.admin.port 12325 The TCP/IP port for the koverse server’s administration service
com.koverse.server.thrift.backup.port 12326 The TCP/IP port for the koverse server’s backup service
com.koverse.server.thrift.resource.port 12327 The TCP/IP port for the koverse server’s resource service
com.koverse.server.thrift.addon.port 12328 The TCP/IP port for the koverse server’s add on service
com.koverse.server.thrift.application.port 12329 The TCP/IP port for the koverse server’s application service
com.koverse.server.thrift.basic.addon.port 12330 The TCP/IP port for the koverse server’s basic add on service
com.koverse.server.thrift.notification.port 12332 The TCP/IP port for the koverse server’s notification service

Metrics Properties

These properties control how the webapp reports metrics, both locally to a log and to external systems like Ganglia

property name default value description
com.koverse.webapp.metrics.logging.reporter.enabled false Whether local log metrics reporting is enabled
com.koverse.webapp.metrics.logging.reporter.periodInSeconds 30 At what interval to log reports
com.koverse.webapp.metrics.ganglia.reporter.enabled false Whether Ganglia reporting of metrics is enabled
com.koverse.webapp.metrics.ganglia.reporter.periodInSeconds 10 At what interval to report metrics to Ganglia
com.koverse.webapp.metrics.ganglia.reporter.host control The Ganglia host
com.koverse.webapp.metrics.ganglia.reporter.port 8649 The Ganglia port
com.koverse.webapp.metrics.ganglia.reporter.clientHostnameOverride koverse1:koverse1 Override the client host name, leave blank to not overrride

Kerberos Properties

These properties control the webapp’s integration with Kerberos. Note that this integration is disabled by default.

If you wish to integrate with Kerberos, be sure to use the following guidelines to define the Kerberos user and keytab path.

If the HADOOP_CONF_DIR environment variable is NOT set, these values will have no effect.

If you are NOT running in a Kerberized environment, still, do NOT leave these values as empty!

property name default value description
com.koverse.server.kerberos.user koverse@TEST.KOVERSE.COM The Kerberos user name/principal
com.koverse.server.kerberos.keytab.path /home/koverse/koverse.service.keytab The path for the Kerberos keytab file
com.koverse.server.kerberos.delay 3 How often to run the kinit command, in seconds