Live Datamart Internal Credentials Configuration

Overview

This article provides a reference for writing a Live Datamart Internal Credentials HOCON configuration file.

Required Header Lines

Each configuration file must contain the following header lines, typically found at the beginning of each file:

name

Specifies an arbitrary, case-sensitive string to name this configuration, which must be unique among other files with the same type, if any. Configuration files can refer to each other by this name. Select a name that reminds you of this configuration's type and purpose. For example:

name = "my-ldm-internal-credentials"
version

Specifies an arbitrary version number that you can use to keep track of file versions for this configuration type in your development project. The maintenance of version numbers is under user control; StreamBase does not compare versions when loading configuration files during the fragment launch process. The version number is a string value, and can contain any combination of characters and numbers. For example:

version = "1.0.0"
type

This essential setting specifies the unique HOCON configuration type described on this page.

type = "com.tibco.ep.ldm.configuration.ldminternalcredentials"

The three header lines taken together constitute a unique signature for each HOCON file in a project's configurations folder. Each project's configurations folder can contain only one file with the same signature.

The top-level configuration object defines the configuration envelope the same way for all HOCON file types.

configuration

On a line below the header element lines, enter the word configuration followed by an open brace. The configuration element is a sibling of the name, version, and type elements, and serves to define the configuration envelope around this type's objects as described on this page. The file must end with the matching close brace.

configuration = {
...
...
}

HOCON Elements Explained

Below shows the configuration's HOCON elements, its name-values, usage, and syntax example, where applicable. The Live Datamart and StreamBase internal credentials elements described here are equivalent to the LiveView system properties used in StreamBase 7, which are no longer supported.

InternalCredentials

This element describes credentials required by the Live Datamart server when communicating with itself or with its embedded StreamBase server.

associatedWithEngines

If you want to manually restrict this object to be associated with specific engines, do so here. Each entry can be a specific engine name or a regular expression that can apply to more than one engine. This name-value pair is optional and has no default value. If not present, the configuration uses default engine association based on its location in a fragment or application archive, or in a node deploy configuration.

For example:

associatedWithEngines = [ "javaengine", "otherengine[0-9]" ]
ldmInternalUserName

String. LiveView user name for internal requests of the LiveView engine. This name-value pair is optional, has no default value, and is equivalent to the StreamBase 7 liveview.internal.username property.

For example:

ldmInternalUserName = "adminUser"
ldmInternalPassword

String. LiveView password for internal requests of the LiveView engine. You can provide an enciphered string for the value; generate the enciphered string with the sbcipher command and prefix #! to the generated string. This name-value pair is optional, has no default value, and is equivalent to the StreamBase 7 liveview.internal.password property.

For example:.+

ldmInternalPassword = "secret"
ldmSecureInternalCommunicationProfileName

References a secure communication client profile for Live Datamart secure internal communication. The profile must be defined in the secureCommunicationProfileName property in a separate configuration file of type com.tibco.ep.dtm.configuration.security.

The presence of a referenced file means secure internal client communication will be used. It must be present if the Live Datamart client API listener enables secure communication, and must be absent if the listener doesn't enable secure communication. Optional.

For example:

ldmSecureInternalCommunicationProfileName = 
"my-secure-client-profile"
streamBaseAdminUserName

String. User name of an EventFlow user with administrative privileges. This name-value pair is optional, has no default value, and is the equivalent to the StreamBase 7 liveview.streambase.admin.username property. This and the next three name-value pairs enable LiveView to run with an EventFlow engine on which authentication is enabled.

For example:

streamBaseAdminUserName = "adminUser"
streamBaseAdminPassword

String. Password of an EventFlow user with administrative privileges. You can provide an enciphered string for the value; generate the enciphered string with the sbcipher command and prefix #! to the generated string. This name-value pair is optional, has no default value, and is the equivalent to the StreamBase 7 liveview.streambase.admin.password property.

For example:

streamBaseAdminPassword = "adminPassword"
streamBaseUserName

String. User name of an EventFlow user without administrative privileges. This name-value pair is optional, has no default value, and is the equivalent to the StreamBase 7 liveview.streambase.user.password property.

For example:

streamBaseUserName = "sbUser"
streamBasePassword

String. Password of an EventFlow user without administrative privileges. You can provide an enciphered string for the value; generate the enciphered string with the sbcipher command and prefix #! to the generated string. This name-value pair is optional, has no default value, and is the equivalent to the StreamBase 7 liveview.streambase.user.password property.

For example:

streamBasePassword = "sbPassword"

HOCON Configuration File Sample

The following shows an example of the com.tibco.ep.ldm.configuration.ldminternalcredentials type.

name = "my-ldm-internal-credentials"
version = "1.0.0"
type = "com.tibco.ep.ldm.configuration.ldminternalcredentials"
configuration = {
  InternalCredentials = {
    associatedWithEngines = [ "javaengine", "otherengine[0-9]" ]
    ldmInternalUserName = "adminUser"
    ldmInternalPassword = "secret"
    ldmSecureInternalCommunicationProfileName = "my-secure-client-profile"

    streamBaseAdminUserName = "adminUser"
    streamBaseAdminPassword = "adminPassword"
    streamBaseUserName = "sbUser"
    streamBasePassword = "sbPassword"
  }
}