You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 14
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
-
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 (server only)
Export & Import (Server Only)
Manages the export functionality
-
exportSettings ( type=json
| optional
)
- Configuration for the export functionality
-
maxSize ( type=integer
| optional
)
- Maximum size in megabytes for each zip generated by the export
-
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
-
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 (server only)
Server Proxys Configuration (Server Only)
-
gpt3 ( type=string
| optional
)
- Configuration for the GTP3 proxy
-
key ( type=string
| optional
)
- Secret key for the OpenAI API
Providers & Resources
-
providers ( type=json
| optional
)
- Provider configurations
-
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>"
-
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 (server only)
-
elasticSearch ( type=json
| optional
)
- Elasticsearch configuration
-
schema ( type=string
| default=http
| optional
)
- Protocol to use for the connection
-
hostnamesAndPorts ( type=string array
| optional
)
- List of hostnames and ports to connect to
-
indexName ( type=string
| default=saga
| optional
)
- This will be the prefix for all the indexes created for this Saga solution. Prefix must not contain _ (underscore) character.
-
user ( type=string
| optional
)
- Elasticsearch username
-
password ( type=string
| optional
)
- Path to the file holding the password
-
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
-
maxResults ( type=integer
| default=-1
| optional
)
- Sets the maximum of elements to fetch with each request. The default is -1 indicating no limit is set
Connecting Saga to an Elasticsearch on HTTPS
In addition to change the 'schema' 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)
{
"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",
"hostnamesAndPorts": ["server1:9210", "server2:9220"],
"indexName": "saga",
"timeout": 30,
"delay": 5,
"retries": 3
}
}
]
}
}