(add git repo) |
(begin to restructure) |
||
| Line 1: | Line 1: | ||
[[TOC]] | [[TOC]] | ||
== BOSS "Build Orchestration Supervision System" == | == BOSS "Build Orchestration Supervision System" == | ||
| - | BOSS is a workflow orchestrator, a system that | + | BOSS is a workflow orchestrator, a system that can be configured to automate your workflow requirements; it interacts with the OBS and with people and systems around it to apply your workflow steps. |
| - | BOSS | + | |
| + | MeeGo will use BOSS to orchestrate a CI (Continuous Integration) ecosystem around OBS. | ||
=== Why === | === Why === | ||
| Line 13: | Line 14: | ||
=== Requirements === | === Requirements === | ||
| - | * parallel worflows for parallel software | + | * parallel worflows for parallel software programmes |
| - | * allows for parallel implementation of the system | + | * allows for parallel implementation of the system |
| - | * plugins are usable independently | + | * plugins are usable independently |
* take away the productization process/logic from the build infrastructure | * take away the productization process/logic from the build infrastructure | ||
=== What is BOSS === | === What is BOSS === | ||
| + | * a workflow framework allowing site-specific workflow definition | ||
* a message bus to collect all triggers and feedback from the different components of the ecosystem | * a message bus to collect all triggers and feedback from the different components of the ecosystem | ||
* A queue-manager to handle delivery of incoming messages from all existing systems to the worklow framework | * A queue-manager to handle delivery of incoming messages from all existing systems to the worklow framework | ||
| - | * a | + | |
| + | ==== Work Flow System ==== | ||
| + | Boss uses [http://ruote.rubyforge.org/ Ruote] as the workflow system which | ||
| + | There is [http://wiki.github.com/jmettraux/ruote/overview an overview of Ruote] which explains how it | ||
| + | * a set of Pa {objects, conditions, transitions, states} to define the components of the productization process | ||
| + | * separate workflow scripts for the product (can be multiple) | ||
| + | * a collection of plugins | ||
| + | ** one plugin per external system | ||
| + | ** possible plugins to handle transitions (parsing the requests) | ||
| + | |||
| + | ==== Message Bus ==== | ||
| + | * a collection of proxies representing external systems | ||
| + | * the RabbitMQ messaging system (or other similar) and a signal dispatcher | ||
=== Architectecture === | === Architectecture === | ||
| Line 27: | Line 41: | ||
==== OBS event publisher ==== | ==== OBS event publisher ==== | ||
[[File:obs_events.png]] | [[File:obs_events.png]] | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
==== Queue Manager ==== | ==== Queue Manager ==== | ||
[[File:BOSS_arch.png]] | [[File:BOSS_arch.png]] | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
== Resources == | == Resources == | ||
| - | |||
| - | |||
The code will be in [http://meego.gitorious.org/meego-infrastructure-tools/boss a git project] | The code will be in [http://meego.gitorious.org/meego-infrastructure-tools/boss a git project] | ||
Contents |
BOSS is a workflow orchestrator, a system that can be configured to automate your workflow requirements; it interacts with the OBS and with people and systems around it to apply your workflow steps.
MeeGo will use BOSS to orchestrate a CI (Continuous Integration) ecosystem around OBS.
Boss uses Ruote as the workflow system which There is an overview of Ruote which explains how it
The code will be in a git project