Application configuration

From Dafne documentation
Revision as of 13:36, 6 August 2026 by Dafne (talk | contribs) (Documentation import)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page covers the configuration held in the application's own files, as opposed to the repository settings described in System settings. It is read at start-up, so changes require a restart.

Dafne consists of two deployable applications, each configured separately:

  • the web application, which serves the GUI and the REST API
  • the executor, which plans scenarios and runs tasks

Both use Spring Boot configuration, so any value can also be supplied as an environment variable or command-line argument rather than being written into a file. Profiles select between variants — the container deployment, for instance, takes the database and directory settings from environment variables.

Web application

Authentication

The login method is chosen by the active profile rather than by a property:

Active profile Login method
entra Microsoft Entra
ldap or ldapad LDAP / Active Directory
none of the above Database — accounts held by Dafne

For the directory methods, the connection is configured under ldap.*: the server URL, the manager DN and password, the DN patterns, the search base and the domain.

Directory groups are mapped onto Dafne roles with ldap.privilegeMapping, which maps a group name to ROLE_USER, ROLE_ADMIN or RERUN. Under a directory method this mapping — not the Users screen — is where authorisation is decided. See Users and roles.

Application options

Property Meaning
dafne.password-encryption-key Key used to encrypt passwords stored in the metadata repository. Change this from the shipped default on any real installation, and keep it consistent between the web application and the executor.
dafne.executor-db-process-name The process name by which a running executor is recognised.
dafne.monitor-view-level Whether the Monitor opens at group or task level.
dafne.default-page The page shown after login. Only Dashboard changes the behaviour; anything else shows the Monitor.
dafne.double-pane-min-width Width in pixels at which the Monitor switches between the one-pane and two-pane layout.
dafne.mobile-enabled Whether the mobile view is available.
dafne.task-history-statistics-days How many days of history the task statistics cover.
dafne.lock-cleaner-delay / dafne.lock-cleaner-max-age How often abandoned edit locks are cleaned up, and how old a lock must be to qualify. See Authoring items#Check-out locks.
dafne.repair-flyway Repairs schema-migration checksums at start-up.

Database and schema

The repository connection is a standard Spring datasource. Schema migrations are applied automatically at start-up.

Session

The GUI session timeout is set under server.servlet.session.timeout.

Executor

The executor's own configuration is grouped under dafne.executor and dafne.notification. Most of it is timing, and the defaults are sensible; the values below are the ones worth knowing about.

Timing

Property Controls
execution-interval How often the executor looks for a task to start.
execution-idle-delay How long it waits when there is nothing to do.
planning-period How often scenarios are evaluated for planning.
cancel-interval How often cancel requests are processed.
shutdown-check-interval How often a pending shutdown is re-checked while waiting for running tasks.

The planning period is the one that shows up operationally: it sets the granularity with which a scenario can trigger, and a scenario cannot react faster than this regardless of its own polling frequency.

Retention and archiving

Property Controls
archiving-interval, archiving-initial-delay When archiving runs. The retention period itself is the Archive limit repository setting — see System settings.
dblog-retention-days and its interval and delay How long the database log is kept.
deleted-items-retention-days and its interval and delay How long deleted definitions remain recoverable.

Execution behaviour

Property Controls
effective-priority-calculation-depth-limit How deep priority inheritance is followed through the dependency graph. See Prioritization.
stalled-task-grace-period How long a task may appear stalled before it is treated as such.
ssh-connection-timeout, ssh-connection-auth-try-count SSH connection behaviour.
db-task.name-prefix, db-task.max-message-count Naming of database sessions opened for tasks, and how many messages are retained per run.

The priority depth limit is worth being aware of on a large model: priority inheritance stops being applied beyond it, so a high-priority task at the end of a very long chain will not lift everything behind it.

Notification

Property Meaning
notification.smtp-server SMTP server used for email notifications.
notification.smtp-from Default sender.
notification.smtp-subject Default subject.
notification.sending-period How often queued notifications are sent.
notification.keep-details, notification.smtp-attachment-filename Whether failure detail is attached, and under what filename.

SMTP configuration lives here, not in the repository settings. On the previous version of the product it was a repository setting, and that is a common source of confusion when configuring email notification for the first time. The per-notification addresses and subject are still set on the notification itself; see edit-notification.

Health checks

Both applications expose a health endpoint for monitoring. The executor additionally runs a small HTTP listener, used primarily for that purpose.

Practical notes

  • Keep the encryption key consistent between the web application and the executor, and treat it as a secret. Passwords in the repository are encrypted with it.
  • Prefer environment variables to edited files for anything environment-specific — it keeps one artefact deployable everywhere.
  • Remember the division of responsibility: Archive limit is a repository setting while the archiving schedule is executor configuration, and both are needed to reason about retention.

See also