Skip to content

Commit ae8728f

Browse files
author
Vidas P
committed
Implement remote agents
Now you can write custom agents in any programming language you prefer. Also bump version number to 0.9.6.
1 parent 15e8cd4 commit ae8728f

File tree

14 files changed

+2029
-15
lines changed

14 files changed

+2029
-15
lines changed

CHANGELOG.md

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,27 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [current]
8+
## [0.9.6] - 2019-12-09
9+
### Added
10+
- Support for remote agents. Custom agents can now be written in any
11+
programming language and use any technology stack.
12+
13+
### Changed
14+
- All agents now use common `working` logic.
15+
16+
### Fixed
17+
- Update loofah (CVE-2019-15587).
18+
- Don't use vendor/cache when building docker image.
19+
20+
21+
## [0.9.5.1] - 2019-10-31
22+
### Added
23+
- Add live updates to the table and diagram of agents.
24+
925
### Fixed
10-
- Update loofah (CVE-2019-15587)
11-
- Don't use vendor/cache when building docker image
26+
- (Fix #1 ) ActiveWorkflow can now be started with `docker-compose up`
27+
without pre-built image.
28+
1229

1330
## [0.9.5] - 2019-10-16
1431
### Added
@@ -19,6 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1936
dependencies), the agent will return soon. If you are using this agent please
2037
skip this version.
2138

39+
2240
## [0.9.4] - 2019-10-09
2341
### Added
2442
- Support writing custom agent in ruby using custom agent API
@@ -43,6 +61,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4361
- Removed broken docker image dependency.
4462
- Update nokogiri (CVE-2019-5477).
4563

64+
4665
## [0.9.2] - 2019-08-07
4766
### Fixed
4867
- Docker compose doesn't restart container anymore.
@@ -66,7 +85,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6685
### Added
6786
- Initial public release
6887

69-
[current]: https://github.com/automaticmode/active_workflow/compare/v0.9.5...HEAD
88+
[current]: https://github.com/automaticmode/active_workflow/compare/v0.9.6...HEAD
89+
[0.9.6]: https://github.com/automaticmode/active_workflow/releases/tag/v0.9.6
90+
[0.9.5.1]: https://github.com/automaticmode/active_workflow/releases/tag/v0.9.5.1
7091
[0.9.5]: https://github.com/automaticmode/active_workflow/releases/tag/v0.9.5
7192
[0.9.4]: https://github.com/automaticmode/active_workflow/releases/tag/v0.9.4
7293
[0.9.3]: https://github.com/automaticmode/active_workflow/releases/tag/v0.9.3

README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -302,12 +302,16 @@ These agents use third party services to provide functionality. They typically r
302302
</tr>
303303
</table>
304304

305+
305306
## Custom Agents
306307

307-
You can create your own custom agents using the [custom agent
308-
API](docs/custom_agent_api.md). Currently agents written in Ruby are supported,
309-
but we are working on providing support for multiple languages, beginning
310-
with Python.
308+
You can create and use your own custom agents with ActiveWorkflow. There are
309+
two ways to accomplish this:
310+
- If you prefer to write your agents in Ruby you can do so by using the
311+
[custom agent API](docs/custom_agent_api.md).
312+
- However, the more flexible and recommended way is to use the [remote agent
313+
API](docs/remote_agent_api.md), which allows you to write your agents in any
314+
programming language you choose.
311315

312316
## REST API
313317

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.9.5
1+
0.9.6

config/initializers/cache.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Clear rails cache to avoid stale state
2+
# (in particular cache is used to store agent types).
3+
Rails.cache.clear

config/initializers/custom_agents.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,3 @@
22
#
33
#require 'my_agent'
44
#CustomAgents.register(MyAgent)
5-

config/initializers/remote_agents.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
require 'remote_agents'
2+
3+
RemoteAgents.setup(ENV)

config/initializers/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module ActiveWorkflow
22
class Application
3-
VERSION = '0.9.5'
3+
VERSION = '0.9.6'
44
end
55
end

docs/custom_agent_api.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@ It receives a message that has to be processed by an agent.
2626

2727
It's called on schedule and gives the opportunity to an agent to perform its functionality.
2828

29-
### `working?`
30-
31-
Used to indicate an agents' status.
32-
3329
### The `config` Parameter
3430

3531
The config parameter is a Ruby object that has the following properties:
@@ -61,3 +57,4 @@ CustomAgents.register(MyAgent)
6157
```
6258

6359
Where `my_agent` is the gem of your agent and `MyAgent` is the class of your agent.
60+

0 commit comments

Comments
 (0)