Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Parameter
    summaryPort of the Saga server. Use -1 to disable HTTP
    default8080
    nameapiPort
    typeinteger
  • Parameter
    summaryThe HTTPS port to use
    default443
    namesecureApiPort
    typeinteger
  • Parameter
    summaryIp address the server will be listening for request
    default0.0.0.0
    namehost
  • Parameter
    summaryServer timeout for asynchronous requests.
    default30000
    nameserverTimeout
    typedouble
  • Parameter
    summaryDisables HTTPS SSL certificate verification when doing HTTP requests to thirds (e.g. the Python-Bridge).
    defaultfalse
    namedisableHTTPSSLVerification
    typeboolean
     (ADDED on 1.3.4)
  • Parameter
    summaryMax payload size limit for requests. The value is in bytes, so the default is 1000000 bytes or 1MB.
    default1000000
    namemaxRequestPayloadSize
    typedouble

CORS (added in 1.3.3)

Manages the security configuration regarding encrypted communication and authentication

  • Parameter
    summaryCORS configuration
    namecors
    typejson

    • Parameter
      summaryList or origins to allow, if you want to allow all just add ["*"]
      default*
      nameallow_origins
      typestring array
    • Parameter
      summaryAllow credentials, values "true" or "false"
      defaulttrue
      nameallow_credentials
    • Parameter
      summaryList or methods to allow, if you want to allow all just add ["*"]
      default*
      nameallow_methods
      typestring array
    • Parameter
      summaryList or headers to allow, if you want to allow all just add ["*"]
      default*
      nameallow_headers
      typestring array
    • Parameter
      summaryList or headers to expose in the response, if you want to expose all just add ["*"]
      default*
      nameexpose_headers
      typestring array

Security 

Manages the security configuration regarding encrypted communication and authentication

...

Note

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

Tip

For more details regarding Security on the Saga Server please see Security & Authentication


  • Parameter
    summary
    • Parameter
      summaryUser profiles definitions, an array of json objects, each one representing a user
      nameusers
      typejson
       (server only)
      • Parameter
        summaryuser account
        nameusername
         (server only)
      • Parameter
        summaryUser password
        namepassword
         (server only)
      • Parameter
        summaryUser roles
        nameroles
        typestring array
         (not in use yet) (server only)
  • Parameter
    summarySSL configuration
    namessl
    typejson
     (server only)
    • Parameter
      summaryEnables and disables the use of the SSL
      defaultfalse
      nameenable
      typeboolean
       (server only)
    • Parameter
      summarykey store holding the certificate
      namekeyStore
       (server only)
    • Parameter
      summaryPassword of the key store
      namekeyStorePassword
       (server only)

...

  • Parameter
    summaryProvider configurations
    nameproviders
    typejson
    • Parameter
      summaryProvider name
      namename
    • Parameter
      summaryType of provider, the type is the name segment of the class name (e.g. TheName is the type for TheNameProvider class)
      nametype

      Info

      As explained in the Resources page, a resource provides access to a specific set of resources from a particular storage technology.  In order for the Saga to use these providers, we need to specify them in the config file under the providers field.  The declaration of each Resource Provider depends of the resource per se; the details of each one can be find here.

  • Parameter
    summaryLogging Provider configurations
    namelogging_provider
    typejson
    (ADDED on 1.3.4)

    Code Block
    languagejs
    titleLogging_provider Example Configuration
    collapsetrue
    "logging_provider": {
          "name": "saga-logging-provider",
          "type": "Elastic",
          "nodeUrls": ["http://localhost:9200"],
          "timestamp": "updatedAt",
          "indexName": "saga",
          "encryptionKeyFile" : "./bin/saga.ek",
          "authentication": "none",
          "caFilePath": "",
          "trustAllSSL": false,
          "timeout": 90,
          "delay": 5,
          "retries": 3,
          "exclude": [ ]
        }


  • Parameter
    summaryTag manager configuration
    nametagManager
    typejson
    • Parameter
      summaryName of the resource to use for the tags. The value should be form by "<provider_name>:<source_name>"
      defaultsaga-provider:saga_tags
      nameresource
  • Parameter
    summaryPipeline manager configuration
    namepipelineManager
    typejson
    • Parameter
      summaryName of the resource to use for the pipelines. The value should be form by "<provider_name>:<source_name>"
      defaultsaga-provider:saga_pipelines
      nameresource
    ParametersummaryConnections for the server user interface (one at the moment ¯\_(ツ)_/¯ ). Use to manage the patterns, tags, and pretty much every single stored element in elasticsearch
    namesolutionstypejson (server only)
    • Parameter
      summaryElasticsearch configuration
      nameelasticSearch
      typejson
      • Parameter
        summaryList of hostnames and ports to connect to
        namenodeUrls
        typestring array
      • Parameter
        summaryThis will be the prefix for all the indexes created for this Saga solution. Prefix must not contain _ (underscore) character.
        defaultsaga
        nameindexName
      • Parameter
        summaryThis will enable authentication.
        defaultnone
        nameauthentication
      • Parameter
        summaryTimeout in seconds for all the connections use by the user interface
        default30
        nametimeout
        typeinteger
      • Parameter
        summaryTime in seconds to wait before a retry of a failed connection
        default5
        namedelay
      • Parameter
        summaryNumber of times to retry a failed connection
        default3
        nameretries
        typeinteger


Connecting Saga to an Elasticsearch on HTTPS

...

Code Block
languagejs
themeRDark
{
  "config": {
    "apiPort": 8080,
    "secureApiPort": 443,
    "host": "0.0.0.0",
    "securityallow-domains": "localhost",
	"serverTimeout": 30000,
	"disableHTTPSSLVerification": {false,
    "maxRequestPayloadSize": 1000000,
    "enablecors": false,{
      "encryptionKeyallow_origins": [
  "SDFW$%GW$S%S#      "http://localhost:8080",
      "encryptionKeyFile": "./bin/saga.ek  "https://localhost",
        "https://login.microsoftonline.com"
      ],
      "allow_credentials": "true",
      "usersallow_methods": [{"*"],
      "allow_headers": ["*"],
 "username     "expose_headers": ["admin*",]
    },
    "passwordsecurity": "password"{
      "enable": false,
        "rolesencryptionKeyFile" : "admin"
./bin/saga.ek",
       }]
"inactiveInterval": 600,
       }"defaultRole": "admin",
      "libraryJarsusers": [{
      "./lib"  "username": "admin",
    ],
    "tagManagerpassword": {
"notpassword",
        "resourceroles": "saga-provider:saga_tagsadmin"
      }],
      "type": "none",

      "pipelineManageropenid": {
        "resourceserverURL": "saga-provider:saga_pipelines"
http://localhost:8080",
      }  "clientId": "clientId",
        "datasetFolderdiscoveryURI": "./datasets"discoveryURI"
      }
    },
    "ssl": {
      "enable": false,
      "keyStore": "./bin/saga.jks",
      "keyStorePassword": "encrypted:NxepNROIgJ27pYpmKEw30llscPA8zCUpbQW676E7H8Nwo9DMABKQsIYF3fcSxQGGKCe8RrPQ8MV3po8NqHo0G7q7sa6T6yzf1JrTQ5VD0uty0elmrqRuybaAmrEHJ37d"
    },
    "libraryJars": [
      "./lib"
    ],
    "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",
        "nodeUrls": ["http://localhost:9200"],
        "timestamp": "updatedAt",
        "authenticationindexName": "nonesaga",
        "excludeencryptionKeyFile" : ["./bin/saga.ek",
         "authentication": "updatedAtnone",
        "caFilePath": "",
		"trustAllSSL": false,
        "createdAttimeout": 90,
         ]"delay": 5,
      }  "retries": 3,
    ],
    "solutionsexclude": [ ]
      {}
    ],
 	"logging_provider": {
      "displayname": "Sagasaga-logging-provider",
        "elasticSearchtype": {"Elastic",
          "nodeUrls": ["http://localhost:9200"],
      "timestamp": "updatedAt",
      "indexName": "saga",
      "encryptionKeyFile" : "./bin/saga.ek",
      "authentication": "none",
      "caFilePath": "",
      "timeouttrustAllSSL": 30false,
      "timeout": 90,
      "delay": 5,
      "retries": 3,
      "exclude": [ ]
    }
    "retriesgpt3": 3{
      "key": "",
     } "openAIHost": "https://api.openai.com",
      } "openAIAPIVersion": "v1"
    ]}
  }
}