2.0 Refactor #1

Merged
joe merged 11 commits from ci into master 2022-09-25 17:52:41 +00:00
3 changed files with 30 additions and 4 deletions
Showing only changes of commit 164a1ec83c - Show all commits

2
.gitignore vendored
View File

@ -1 +1 @@
docs/
dist/

View File

@ -35,6 +35,7 @@ The key for the group item is the name of the group.
### Group subfields:
- **components** - An array of component names that should be launched as a group
- **descirption** - A description that is displayed in the task list
## Component configuration
@ -58,21 +59,39 @@ components:
The key for the component item is the name of the component.
component itself.
### Component subfields:
* **path** - The working path relative to the configuration file. By default the path is "."
* **env** - A set of environment variables that are set before any commands are run.
* **command** - The command that should be executed when the component is launched. This command can be a shell command. Multiple commands can be specified as an array or a single command can be specified as a string
* **keep_alive** - Specifies whether the command should be rerun if it exits. This is true by default.
* **retry_delay** - A delay in seconds to wait before launching the command after it exits.
* **tasks** - A list of task definitions that are scoped within this compoennt. Tasks can be specified under a component for organizational reasons. These components become _namespaced_ and can be executed directly by using its qualified name: component:task. See the task definitions for information about these blocks.
* **descirption** - A description that is displayed in the task list
## Task configuration
Tasks are similiar to components, except they are meant as single run utility commands. These can be used to setup the environment, or as pure utility functions like build pipelines and data configuration.
The key for the task item is the name of the task.
### Example task configuration:
```yaml
tasks:
build:
env:
MODE: production
path: backend/
command: cargo build --release
description: Backend release build
```
### Task subfields:
* **path** - The working path relative to the configuration file. By default the path is "."
* **env** - A set of environment variables that are set before any commands are run.
* **command** - The command that should be executed when the component is launched. This command can be a shell command. Multiple commands can be specified as an array or a single command can be specified as a string
* **descirption** - A description that is displayed in the task list
## Full example config:
```yaml

View File

@ -23,11 +23,18 @@
Binary Download
</div>
<a class="ui basic huge inverted button"
href="https://github.com/5Sigma/conductor/releases/latest/download/conductor-windows.zip">
href="https://objects.5sigma.io/public/conductor.tar.gz">
<i class="ui life linux icon"></i> Download
</a>
<p style="color: white;margin-top: 15px;font-size: 1.2em">Conductor currently only support Linux based systems</p>
</div>
<div style="width: 660px; margin: auto auto; text-align: left;">
<div class="ui inverted segment">
<pre style="font-size: 16px; font-weight: bold;margin: none;">
curl https://objects.5sigma.io/public/conductor.tar.gz | tar -xz
./conductor</pre>
</div>
</div>
<div class="ui hidden section divider"></div>
</div>
<div class="ui grid two columns">