This repository has been archived by the owner on Apr 14, 2023. It is now read-only.
v0.8.0
Added
- Multiple tools have been added to help develop workflows
- Playbooks can be saved even if they are invalid. However, playbooks cannot
be executed if they are invalid. - The playbook editor displays the errors on a workflow which must be solved
before the workflow can be executed - You can now use Python's builtin
logging
module in an app, and the log
messages will be displayed in the playbook editor
- Playbooks can be saved even if they are invalid. However, playbooks cannot
- The metrics page has been introduced in the UI which displays simple metrics
related to the execution of workflows and actions. - The devices used in the actions in workflows are now objects, enabling
dynamic selection of the device used for the action. To further support this,
an action in the Utilities app namedget devices by fields
allows you to
query the devices database. - The ability to use a key-value storage has been created. This is now the
mechanism used to push workflows and backs the SSE streams. Currently two
options are available for key-value store, DiskCache, a SQLite-backed
key-value storage, and Redis. By default Walkoff will use DiskCache, but it
is recommended that users configure and use Redis. - The SSEs now use dedicated SseStream objects which are backed by the cache.
These objects make constructing and using streams much easier.
walkoff.see.InterfaceSseStream
andwalkoff.sse.FilteredInterfaceSseStream
objects have been made available to use in custom interfaces. - A
CaseLogger
object which makes it much easier to log events to the case
database has been created.
Changed
- The
interfaces.AppBlueprint
used to construct interfaces has been modified
to extend fromwalkoff.sse.StreamableBlueprint
which in turn extends
Flask's Blueprint. This makes the interface cleaner and more flexible. - Changes to the REST API
- In the configuration resource:
workflow_path
,logging_config_file
, andzmq_requests
have been
removed from the API- The ability to edit the cache configuration has been added
- In the playbook resources:
- All execution elements have a read only list of human-readable errors
- A workflow has a read only Boolean field "is_valid" which indicates if
any of its execution elements have errors
- In the configuration resource:
- All changes to the configuration will only be applied on server restart
- Refactorings have been done to minimize the amount of global state used
throughout Walkoff. Work will continue on this effort. - Metrics are now stored in the execution database
- Changes to styling on the playbook editor
Deprecated
walkoff.helpers.create_sse_event
has been deprecated and will be removed in
version 0.10.0. Usewalkoff.sse.SseEvent
or the streams inwalkoff.sse
instead
.
Fixed
- Bug where branches where all branches weren't being evaluated in a workflow
- Bug where object arguments could not be converted from strings
Contributor
- Testing the backend now requires the additional the dependencies in
requirements-test.txt
- The minimum accepted unit test coverage for the Python backend is now 88%