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
Control the server's basic communication configuration
Manages the security configuration regarding encrypted communication and authentication
encryptionKeyFile ( type=string | optional ) - Path to the file holding the encryption key. Recommended over encryptionKey
We recommend the use of encryptionKeyFile over the encryptionKey directly in the configuration file. Never use both a the same time
For more details regarding Security on the Saga Server please see Security & Authentication
Manages the export functionality
Defines the location of external libraries and classes
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)
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.
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
Here you can see a sample configuration (not functional)
{ "config": { "apiPort": 8080, "host": "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", "nodeUrls": ["http://localhost:9200"], "timestamp": "updatedAt", "authentication": "none", "exclude": [ "updatedAt", "createdAt" ] } ], "solutions": [ { "display": "Saga", "elasticSearch": { "nodeUrls": ["http://localhost:9200"], "indexName": "saga", "authentication": "none", "timeout": 30, "delay": 5, "retries": 3 } } ] } }