Live Datamart Internal Credentials Configuration

Overview

This article provides a reference for writing a Live Datamart Internal Credentials configuration file where the HOCON type is com.tibco.ep.ldm.configuration.ldminternalcredentials.

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 lines, enter the word configuration followed by an open brace. The configuration object is a sibling of the name, version, and type identifiers, 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 Properties Explained

Below shows the configuration's HOCON properties, 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 array 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 property 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. This optional property is encryptable as part of the node-level secrecy system described in Encrypting Sensitive Configuration Data.

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"
ldmInternalRequestHostName

Host name to use when generating internal LiveView requests. If the LiveView engine uses secure communication, then you can set this property to match the server's name as it appears in its X.509 certificate in cases where that name is different from the canonical host name. If the LiveView engine is configured for Kerberos authentication, then this property can be set such to match the host name portion of the engine's Kerberos server principal name if that name is different from the canonical host name. This property is optional and has no default value.

For example:

ldmInternalRequestHostName = "example.com"
streamBaseAdminUserName

String. User name of an EventFlow user with administrative privileges. This property is optional, has no default value, and is the equivalent to the StreamBase 7 liveview.streambase.admin.username property. This and the next three properties 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. This optional property is encryptable as part of the node-level secrecy system described in Encrypting Sensitive Configuration Data.

For example:

streamBaseAdminPassword = "adminPassword"
streamBaseUserName

String. User name of an EventFlow user without administrative privileges. This property 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. This optional property is encryptable as part of the node-level secrecy system described in Encrypting Sensitive Configuration Data.

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"
    ldmInternalRequestHostName = "example.com"
    streamBaseAdminUserName = "adminUser"
    streamBaseAdminPassword = "adminPassword"
    streamBaseUserName = "sbUser"
    streamBasePassword = "sbPassword"
  }
}