Automation
You can automate flows and dashboard deployment, update, and activation by adding special tags to it. An automated app is automatically started when the app is installed or when Flow Director server is started. Further, flows and dashboards changed after a Git pull
(automatic or manual) are deactivated without data loss, updated, and reactivated automatically.
Start/Stop Button
Each app has a start/stop button that takes effect if flows and dashboards have automation tags set. If the button is green, the app is started:
Click to stop it:
You can see the corresponding entries in the app log:
Without automation tags set, the button does not affect.
Automation Tags
You can set the following automation tags:
automate-<router>
(automate for<router>
only)automate-all
(automate for all routers)automate
(synonym ofautomate-<connectedrouter>
; per default the connected router has nameflowdirector
but that can be changed)
Release Tags (Since 4.1.1)
Add a release tag to a flow or dashboard to ensure it will be only deployed to routers that match this tag. This will allow different flows and dashboards deployed, dependent on the release of the router.
A release tag is structured as follows:
release:<op>:<major>.<minor>.<patch>
<op>
is the comparison operator: lt
(less-than), le
(less-or-equal), gt
(greater-than), ge
(greater-or-equal).
<major>
, <minor>
, <patch>
are the SwiftMQ release identifier, i.e. 12.5.4
.
To deploy a flow to routers with release 12.5.4 or below you add tag release:le:12.5.4
. To deploy a dashboard to routers with release 13.0.0 or higher you add tag release:ge:13.0.0
.
Automatic Flow Restart
To ensure that a flow handles temporary failures such as connection loss to a database or messaging system, add tag restart
to the flow. When a failure happens, the flow is stopped and repeatedly restarted after one minute until the failure condition disappears.
Git Pull
When a Git pull
is performed (automatically or manually), all flows and dashboards are selected that have automate
set. Flows that have not yet been activated are deployed and activated.
A git pull
produces a list of diffs. It is determined which flows and dashboards are affected, and those with automate
are updated.
Router Available
When a router becomes available, all flows and dashboards are selected with either automate-<thatrouter>
or automate-all
and are deployed/activated resp. updated if they are already activated and are affected by the diffs from the last Git pull
.
Example: Web API Demo App
Default Dashboard
A dashboard can be tagged with default
and it is automatically displayed when the user logs into the app.
For example, the Web API Demo app displays a Shell Terminal as default:
When the user logs into Web API Demo, it is displayed: