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
Parameter |
---|
summary | Port of the Saga server. Use -1 to disable HTTP |
---|
default | 8080 |
---|
name | apiPort |
---|
type | integer |
---|
|
Parameter |
---|
summary | The HTTPS port to use |
---|
default | 443 |
---|
name | secureApiPort |
---|
type | integer |
---|
|
Parameter |
---|
summary | Ip address the server will be listening for request |
---|
default | 0.0.0.0 |
---|
name | host |
---|
|
Parameter |
---|
summary | Server timeout for asynchronous requests. |
---|
default | 30000 |
---|
name | serverTimeout |
---|
type | double |
---|
|
Parameter |
---|
summary | Disables HTTPS SSL certificate verification when doing HTTP requests to thirds (e.g. the Python-Bridge). |
---|
default | false |
---|
name | disableHTTPSSLVerification |
---|
type | boolean |
---|
|
(ADDED on 1.3.4) Parameter |
---|
summary | Max payload size limit for requests. The value is in bytes, so the default is 1000000 bytes or 1MB. |
---|
default | 1000000 |
---|
name | maxRequestPayloadSize |
---|
type | double |
---|
|
CORS (added in 1.3.3)
Manages the security configuration regarding encrypted communication and authentication
Parameter |
---|
summary | CORS configuration |
---|
name | cors |
---|
type | json |
---|
|
Parameter |
---|
summary | List or origins to allow, if you want to allow all just add ["*"] |
---|
default | * |
---|
name | allow_origins |
---|
type | string array |
---|
|
Parameter |
---|
summary | Allow credentials, values "true" or "false" |
---|
default | true |
---|
name | allow_credentials |
---|
|
Parameter |
---|
summary | List or methods to allow, if you want to allow all just add ["*"] |
---|
default | * |
---|
name | allow_methods |
---|
type | string array |
---|
|
Parameter |
---|
summary | List or headers to allow, if you want to allow all just add ["*"] |
---|
default | * |
---|
name | allow_headers |
---|
type | string array |
---|
|
Parameter |
---|
summary | List or headers to expose in the response, if you want to expose all just add ["*"] |
---|
default | * |
---|
name | expose_headers |
---|
type | string array |
---|
|
Security
Manages the security configuration regarding encrypted communication and authentication
Parameter |
---|
summary | Security configuration |
---|
name | security |
---|
type | json |
---|
|
Parameter |
---|
summary | Enables or not the security |
---|
default | false |
---|
name | enable |
---|
type | boolean |
---|
|
Parameter |
---|
summary | Indicates the encryption key used in all encryption/decryption process |
---|
name | encryptionKey |
---|
|
Parameter |
---|
summary | Path to the file holding the encryption key. Recommended over encryptionKey |
---|
name | encryptionKeyFile |
---|
|
Parameter |
---|
summary | Number of seconds of inactivity before expiring a session |
---|
default | 600 |
---|
name | inactiveInterval |
---|
type | integer |
---|
|
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 | SSL configuration |
---|
name | ssl |
---|
type | json |
---|
|
(server only) Parameter |
---|
summary | Enables and disables the use of the SSL |
---|
default | false |
---|
name | enable |
---|
type | boolean |
---|
|
(server only) Parameter |
---|
summary | key store holding the certificate |
---|
name | keyStore |
---|
|
(server only) Parameter |
---|
summary | Password of the key store |
---|
name | keyStorePassword |
---|
|
(server only)
Export & Import (Server Only)
Manages the export functionality
Parameter |
---|
summary | Configuration for the export functionality |
---|
name | exportSettings |
---|
type | json |
---|
|
Parameter |
---|
summary | Maximum size in megabytes for each zip generated by the export |
---|
name | maxSize |
---|
type | integer |
---|
|
Parameter |
---|
summary | Quantity of entries per file |
---|
name | batchSize |
---|
type | integer |
---|
|
External Libraries & Classes
Defines the location of external libraries and classes
Parameter |
---|
summary | Locations for external libraries, the locations can be either folder paths or paths directly to the jars files |
---|
|
name | libraryJars |
---|
type | string array |
---|
|
Parameter |
---|
summary | Indicates the class name | tagManager |
---|
type | json |
---|
|
Parameter |
---|
name | pipelineManager |
---|
type | json |
---|
|
of the external REST handler to use. If the class is in a non-standard package path, the whole path needs to be specified | name | restHandlers |
---|
type | string array |
---|
|
(server only) Parameter |
---|
summary | Indicates the class name of the external UI handler to use. If the class is in a non-standard package path, the whole path needs to be specified |
---|
name | uiHandlers |
---|
type | string array |
---|
|
(server only) Parameter |
---|
summary | 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 |
---|
name | models |
---|
type | string array |
---|
|
(server only)
Server Proxys Configuration (Server Only)
Parameter |
---|
summary | Configuration for the GTP3 proxy |
---|
name | gpt3 |
---|
|
Parameter |
---|
summary | Secret key for the OpenAI API |
---|
name | key |
---|
|
Parameter |
---|
summary | Host for the OpenAI API |
---|
name | openAIHost |
---|
|
Parameter |
---|
summary | OpenAI API version to use. |
---|
name | openAIAPIVersion |
---|
|
Providers & Resources
Parameter |
---|
Parameter |
---|
summary | Provider configurations |
---|
|
|
Parameter |
---|
summary | Provider name |
---|
name | name |
---|
|
Parameter |
---|
summary | Type of provider, the type is the name segment of the class name (e.g. TheName is the type for TheNameProvider class) |
---|
name | type |
---|
|
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 |
---|
summary | Logging Provider configurations |
---|
name |
---|
|
solutions (ADDED on 1.3.4)
...
| title | Logging_provider Example Configuration |
---|
collapse | true |
---|
|
"logging_provider": {
"name": "saga-logging-provider",
"type": "Elastic",
"nodeUrls": ["http://localhost:9200"],
|
...
...
...
...
...
saga",
"encryptionKeyFile" : "./bin/saga.ek",
|
...
"authentication": "none",
"caFilePath": "",
" |
...
...
...
...
...
...
Parameter |
---|
summary | Tag manager configuration |
---|
name | tagManager |
---|
type | json |
---|
|
Parameter |
---|
summary | Name of the resource to use for the tags. The value should be form by " |
---|
|
...
<provider_name>:<source_name>" | default | saga-provider:saga_tags |
---|
name | resource |
---|
|
Parameter |
---|
summary | Pipeline manager configuration |
---|
name | pipelineManager |
---|
type | json |
---|
|
Parameter |
---|
summary | Name of the resource to use for the pipelines. The value should be form by "<provider_name>:<source_name>" |
---|
default | saga-provider:saga_pipelines |
---|
name | resource |
---|
|
Connecting Saga to an Elasticsearch on HTTPS
In addition to change the schema in the 'nodeUrls' parameter in the solutions and providers sections in the config file from 'http' to 'https', you also need to add the Elasticsearch CA certificate to the java keystore using the keytool command.
Something like this:
keytool -importcert -alias elastic_ca -cacerts -storepass changeit -file /tmp/es_ca.crt -noprompt
Saga Core & Server Configuration
Here you can see a sample configuration (not functional)
Code Block |
---|
|
{
"config": {
}"apiPort": 8080,
"pipelineManagersecureApiPort": {443,
"host": "0.0.0.0",
"resource "allow-domains": "saga-provider:saga_pipelines"
},
"localhost",
"serverTimeout": 30000,
"disableHTTPSSLVerification": false,
"maxRequestPayloadSize": 1000000,
"cors": {
"providersallow_origins": [
{"http://localhost:8080",
"name": "filesystem-provider",https://localhost",
"https://login.microsoftonline.com"
],
"type "allow_credentials": "FileSystemtrue",
"allow_methods": ["*"],
"baseDirallow_headers": ["./config*"],
"expose_headers": ["*"]
},
"security": {
"enable": false,
"nameencryptionKeyFile" : "saga-provider./bin/saga.ek",
"inactiveInterval": 600,
"typedefaultRole": "Elasticadmin",
"users": [{
"scheme "username": "httpadmin",
"hostnamepassword": "localhostnotpassword",
"portroles": 9200,"admin"
}],
"timestamptype": "updatedAtnone",
"excludeopenid": [{
"serverURL": "updatedAt"http://localhost:8080",
"clientId": "createdAtclientId",
]
"discoveryURI": "discoveryURI"
}
]},
"solutionsssl": [{
{"enable": false,
"keyStore": "./bin/saga.jks",
"displaykeyStorePassword": "Sagaencrypted:KCe8RrPQ8MV3po8NqHo0G7q7sa6T6yzf1JrTQ5VD0uty0elmrqRuybaAmrEHJ37d",
},
"elasticSearchlibraryJars": {[
"./lib"
],
"schemeexportSettings" : "http"{
"maxSize" : 40,
"batchSize" : 5000
"hostname },
"restHandlers": "localhost"[],
"models": [],
"uiHandlers": [],
"portproviders": 9200,[
{
"indexNamename": "sagafilesystem-provider",
"timeouttype": 30"FileSystem",
"baseDir": "delay": 5./config"
},
{
"retriesname": 3"saga-provider",
}"type": "Elastic",
} "nodeUrls": ["http://localhost:9200"],
]
}
} |
Saga Server Configuration
Code Block |
---|
|
{
"configtimestamp": {
"updatedAt",
"apiPortindexName": 8080"saga",
"ipAddressencryptionKeyFile" : "0.0.0.0/bin/saga.ek",
"securityauthentication": {
"none",
"enable"caFilePath": "",
"trustAllSSL": false,
"userstimeout": [{90,
"usernamedelay": "admin"5,
"passwordretries": "password"3,
"rolesexclude": "admin"[ ]
}
],
"logging_provider": {
}]"name": "saga-logging-provider",
} "type": "Elastic",
"datasetFoldernodeUrls": ["./datasets"http://localhost:9200"],
"ssltimestamp": {"updatedAt",
"enableindexName": false"saga",
"keyStoreencryptionKeyFile" : "./bin/saga.jksek",
"keyStorePasswordauthentication": "encrypted:NxepNROIgJ27pYpmKEw30llscPA8zCUpbQW676E7H8Nwo9DMABKQsIYF3fcSxQGGnone",
}"caFilePath": "",
"exportSettingstrustAllSSL" : {false,
"maxSizetimeout" : 4090,
"batchSizedelay" : 50005,
} "retries": 3,
"restHandlersexclude": [], ]
}
"modelsgpt3": [],{
"uiHandlerskey": []"",
"gpt3openAIHost": {"https://api.openai.com",
"keyopenAIAPIVersion": "encrypted:7E7nI0+ofh//r1bFvTQCnY7DQlG6Kh4aA1TQlh44/NoxR0DDzHaeZdBXqYAguEXcv1"
}
}
} |