Appearance
Configuration
Supported configuration options for the server are:
- An application.yml file in the server folder
- Environment variables
Environment variables are always derived from the YAML path of a property, with nestings being represented as _ and characters like - being left out. As an example, application.security.default-admin.username can be set by environment variable APPLICATION_SECURITY_DEFAULTADMIN_USERNAME.
INFO
If a configuration option is set as both environment variable and in the file, the environment variable takes precedence, as per Spring Boot externalized configuration rules.
Generally, all principles and possible methods of configuring Java Spring Boot applications apply, although they are not explicitly supported.
Security
This section pertains to management of keys, users & permissions.
Default user
This is the admin user that will be created automatically on first startup of the application. A workspace for this user will be automatically created using the format <first-name> <last-name>'s Workspace.
yaml
application:
security:
default-admin:
username: "admin"
password: "testington"
email: "admin@default.internal"
first-name: "ArdenSuite"
last-name: "Admin"API Key
This is a the static API Key that can be used in the X-Api-Key header. API key access can be disabled by setting an empty string (default).
yaml
application:
security:
api-key: ''JWT
This contains the private key used for signing tokens, and expiry times for access and refresh tokens.
DANGER
It is highly recommended the the key be set to another (cryptographically secure) random value before any production use.
yaml
application:
security:
jwt:
secret-key: 3d2a27adb37597867fb8a55c81172a73ec6b305da2972d7c094eefd0d5d5a4bd
expiry-seconds: 1200 # in s (=20min)
refresh-token:
expiry-seconds: 10800 # in s (=3h)Content
MLM Auto-Import
If enabled, the server will attempt to (re-)import files matching the provided glob patterns, relative to the configured directory, on every startup. MLMs already present in the server (by MLM ID) will be ignored.
yaml
application:
mlm:
import:
enabled: false
directory: ''
include:
- '*.mlm'
- '**/*.mlm'Backup Auto-Restore
When enabled, the server will on first startup attempt to import the backup specified in the JSON file. The contents of the JSON file should be of BackupDto, see the backup import operation for details.
yaml
application:
backup:
restore:
enabled: false
file: "src/main/resources/exported/export.json"Engine
Configuration related to execution parameters, details of plugin execution and execution logs.
Execution limits
When MLMs call other MLMs, the call stack is only allowed to go nested-limit MLMs deep, otherwise an error will be raised. The entire execution of an MLM (including nested MLMs) is similarly aborted when max-execution-time is reached.
yaml
engine:
execution:
nested-limit: 100
max-execution-time: 10Execution log
Enable or disable logging of MLM calls for the dashboard entirely (disabled by default) and how long entries are retained if so.
yaml
engine:
execution:
log:
enabled: false
retention-days: 1Plugin variable prefix
When values from the Arden Syntax engine are passed between curly braces, they are denoted with a prefix to mark them as a special identifier. This prefix can be configured here, but it is highly recommended to be left alone.
yaml
engine:
plugin:
syntax:
variable-prefix: "$"Database
The default Spring Boot database settings are used. By default, a file-based H2 database is configured.
yaml
spring:
datasource:
driver-class-name: org.hsqldb.jdbc.JDBCDriver
url: jdbc:hsqldb:file:./data/ardendb;hsqldb.default_table_type=cached;sql.syntax_pgs=true
username: sa
password:
jpa:
database-platform: org.hibernate.dialect.HSQLDialectNetworking
Port
The HTTP port of the server.
yaml
server:
port: 8081CORS
Settings regarding cross-origin resource sharing, especially relevant for access from frontends like the ArdenSuite Frontend. Very permissive by default, allowing access from everywhere.
yaml
cors:
enabled: true
allow-credentials: true
allowed-origins:
- "*"