Configuration

Contents

Overview

ModelOps configuration files use Human-Optimized Config Object Notation (HOCON) syntax. This syntax supports generic JSON configuration with extensions.

ModelOps servers that support configuration use the configuration command line argument to specify any required configuration:

-c,--configuration <file>    configuration file

All ModelOps configuration must be packaged in a top-level envelope:

com.tibco.modelops.configuration
{
   <configuration-sections>
}

Configuration supports substitution variables for any configuration values in a configuration file. Substitution variables are specified using this syntax:

${substitution-variable-name:-<optional-default-value>}

Substitution variable values are specified on the command line when a server is started using one of these arguments:

-s,--substitutions      <name=value,...>   substitution values
-sf,--substitution-file <file>             substitution file

Substitution files are standard Java property files.

ModelOps Server

The ModelOps server supports these configuration sections:

Section Name Description
ClientAPIListener Listener network address information
CloudNativeIntegrationGitRepo Git repository
CommunicationSecurity TLS secure communication
Database Persistent store
DataChannelRegistryServer Data channel registry
Decryption Master secret
DeploymentServiceAddresses Streaming node administration port addresses
DeploymentServiceNames Streaming node service names
LDAPAuthenticationRealm LDAP authentication realm
LocalAuthenticationRealm Local authentication realm
RoleToPrivilegeMappings Role to privilege mappings for authentication
SchedulingServer Scheduling server
SourceControlManagement User name and password for Git repository

SchedulingServer

The SchedulingServer configuration section supports these properties:

Property Name Default Description
url http://localhost:8090/schedule URL to access scheduling server
administrator admin Scheduling server administrator name

If this configuration section is specified all properties are required.

com.tibco.modelops.configuration
{
    SchedulingServer =
    {
        url = "http://modelops.tibco.com:9090/schedule"
        administrator = "admin-user"
    }
}

Scoring Server

The Scoring server supports these configuration sections:

Section Name Description
BakedInModel Default model to load
Scoring Network address and runners

BakedInModel

The BakedInModel configuration section supports these properties:

Property Name Default Description
modelType none Model type
modelName none Model name
modelVersion none Model version
modelId none Model description
modelUri none Model URI. If no URI scheme, value is treated as a file path.
inputSchemaUri none Input schema URI. If no URI scheme, value is treated as a file path.
outputSchemaUri none Output schema URI. If no URI scheme, value is treated as a file path.

If this configuration section is specified all properties are required.

com.tibco.modelops.configuration
{
    BakedInModel =
    {
        modelType = "PMML"
        modelName = "Fraud"
        modelVersion = "1.0.0"
        modelUri = "pmml/fraud.pmml"
        inputSchemaUri = "pmml/input-schema.avsc"
        outputSchemaUri = "pmml/output-schema.avsc"
        modelId = "Fraud detection model"
    }
}

Scoring

The Scoring configuration section supports these properties:

Property Name Default Description
host localhost or "" Listener host. Clients default to localhost, server to all hosts ("")
port 2650 Listener port number
sessionTimeoutSeconds 3600 Login session timeout
runners none Runner name/value configuration keyed by runner identifier
com.tibco.modelops.configuration
{
    Scoring =
    {
        host = "my-host"
        port = 1000
        sessionTimeoutSeconds = 2000

        runners =
        {
            "runner-id-a"
            {
                "a-name-one" = "a-value-one"
                "a-name-two" = "a-value-two"
            }
            "runner-id-b"
            {
                "b-name-one" = "b-value-one"
                "b-name-two" = "b-value-two"
            }
        }
    }
}