You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Saga Configuration

The Saga configuration can be use for the core library only or with the server, all the features available for the core library will work in the server, but the features for the server 

Server Access

Control the server's basic communication configuration

  • apiPort ( type=integer | default=8080 | optional ) - Port of the Saga server
  • ipAddress ( type=string | default=0.0.0.0 | optional ) - Ip address the server will be listening for request

Security 

Manages the security configuration regarding encrypted communication and authentication

  • security ( type=json | optional ) - Security configuration
    • encryptionKey ( type=string | optional ) - Indicates the encryption key used in all encryption/decryption process
    • encryptionKeyFile ( type=string | optional ) - Path to the file holding the encryption key. Recommended over encryptionKey

      We recommend the use of encryptionKeyFile over the encriptionKey directly in the configuration file. Never use both a the same time

    • (server only)  users ( type=json | optional ) - User profiles definitions, an array of json objects, each one representing a user
      • (server only)  username ( type=string | optional ) - user account
      • (server only)  password ( type=string | optional ) - User password
      • (server only)  roles ( type=string array | optional ) - User roles (not in use yet)
  • (server only)  ssl ( type=json | optional ) - SSL configuration
    • (server only)  enable ( type=boolean | default=false | optional ) - Enables and disables the use of the SSL
    • (server only)  keyStore ( type=string | optional ) - key store holding the certificate
    • (server only)  keyStorePassword ( type=string | optional ) - Password of the key store

Export & Import

Manages the export functionality

  • (server only)  exportSettings ( type=json | optional ) - Configuration for the export functionality
    • (server only)  maxSize ( type=integer | optional ) - Maximum size in megabytes for each zip generated by the export
    • (server only)  batchSize ( type=integer | optional ) - Quantity of entries per file

External Libraries & Classes

Defines the location of external libraries and classes 

  • libraryJars ( type=string array | optional ) - Locations for external libraries, the locations can be either folder paths or paths directly to the jars files
  • (server only)  restHandlers ( type=string array | optional ) - Indicates the class name of the external REST handler to use. If the class is in a non-standard package path, the whole path needs to be specified
  • (server only)  models ( type=string array | optional ) - Indicates the class name of the external Model to use. If the class is in a non-standard package path, the whole path needs to be specified

Proxys Configuration

  • (server only)  gpt3 ( type=string | optional ) - Configuration for the GTP3 proxy
    • (server only)  key ( type=string | optional ) - Secret key for the OpenAI API

Providers & Resources

  • providers ( type=json | optional ) - Provider configurations
        Each provider has it own configuration, which will not be review in this section
    • name ( type=string | optional ) - Provider name
    • type ( type=string | optional ) - Type of provider, the type is the name segment of the class name (e.g. TheName is the type for TheNameProvider class)
  • tagManager ( type=json | optional ) - Tag manager configuration
    • resource ( type=string | default=saga-provider:saga_tags | optional ) - Name of the resource to use for the tags. The value should be form by "<provider_name>:<source_name>"
  • pipelineManager ( type=json | optional ) - Pipeline manager configuration
    • resource ( type=string | default=saga-provider:saga_pipelines | optional ) - Name of the resource to use for the pipelines. The value should be form by "<provider_name>:<source_name>"
  • (server only)  solutions ( type=json | optional ) - Connections for the server user interface (one at the moment ¯\_(ツ)_/¯ ). Use to manage the patterns, tags, and pretty much every single stored element in elasticsearch
    • elasticSearch ( type=json | optional ) - Elasticsearch configuration
      • schema ( type=string | default=http | optional ) - Protocol to use for the connection
      • hostname ( type=string | default=localhost | optional ) - Hostname of the Elasticsearch server
      • port ( type=integer | default=9200 | optional ) - Elasticsearch port
      • indexName ( type=string | default=saga | optional ) - This will be the prefix for all the indexes created for this Saga solution
      • timeout ( type=integer | default=30 | optional ) - Timeout in seconds for all the connections use by the user interface
      • delay ( type=string | default=5 | optional ) - Time in seconds to wait before a retry of a failed connection
      • retries ( type=integer | default=3 | optional ) - Number of times to retry a failed connection


Saga Core & Server Configuration

Here you can see a sample configuration (not functional) 

{
  "config": {
    "apiPort": 8080,
    "ipAddress": "0.0.0.0",
    "security": {
      "enable": false,
      "encryptionKey": "SDFW$%GW$S%S#",
      "encryptionKeyFile": "./bin/saga.ek",
      "users": [{
        "username": "admin",
        "password": "password",
        "roles": "admin"
      }]
    },
    "libraryJars": [
      "./lib"
    ],
    "tagManager": {
      "resource": "saga-provider:saga_tags"
    },
    "pipelineManager": {
      "resource": "saga-provider:saga_pipelines"
    },
    "datasetFolder": "./datasets",
    "ssl": {
      "enable": false,
      "keyStore": "./bin/saga.jks",
      "keyStorePassword": "encrypted:NxepNROIgJ27pYpmKEw30llscPA8zCUpbQW676E7H8Nwo9DMABKQsIYF3fcSxQGG"
    },
    "exportSettings" : {
      "maxSize" : 40,
      "batchSize" : 5000
    },
    "restHandlers": [],
    "models": [],
    "uiHandlers": [],
    "gpt3": {
      "key": "encrypted:7E7nI0+ofh//r1bFvTQCnY7DQlG6Kh4aA1TQlh44/NoxR0DDzHaeZdBXqYAguEXc"
    },
    "providers": [
      {
        "name": "filesystem-provider",
        "type": "FileSystem",
        "baseDir": "./config"
      },
      {
        "name": "saga-provider",
        "type": "Elastic",
        "scheme": "http",
        "hostname": "localhost",
        "port": 9200,
        "timestamp": "updatedAt",
        "exclude": [
          "updatedAt",
          "createdAt"
        ]
      }
    ],
    "solutions": [
      {
        "display": "Saga",
        "elasticSearch": {
          "scheme": "http",
          "hostname": "localhost",
          "port": 9200,
          "indexName": "saga",
          "timeout": 30,
          "delay": 5,
          "retries": 3
        }
      }
    ]
  }
}











  • No labels