Metadata-Version: 2.1
Name: just-compose
Version: 0.1.0
Summary: A system for management of multiple processes
Home-page: https://github.com/richard-hajek
Author: Richard Hajek
Author-email: richard.m.hajek@gmail.com
License: UNKNOWN
Project-URL: Bug Tracker, https://github.com/richard-hajek
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: sh
Requires-Dist: colorama
Requires-Dist: pyyaml

## Just Compose

A script to run the entire pipeline.

### Installation

```bash
pip install just_compose
jcompose --help # Should print something
```

### How to deploy entire pipeline

```bash

# Go to your src
# This repo implements healthchecks
cd ~/crow2/src
git clone https://gitlab.ciirc.cvut.cz/hajekric/observations
cd ~/crow2
colcon build --symlink-install

cd ~/
git clone https://gitlab.ciirc.cvut.cz/hajekric/just-compose.git
cd examples
jcompose just-compose_ros.yaml # Should start the pipeline
```

### Technical details

#### YAML

The main configuration file contains the following structure:

```yaml
pre:
  - echo This hook runs before each job and each healthcheck

post:
  - echo This hook runs after each job

services:
  
  crow_vision_ros2: # The name of the service. Is used for printing and identification
    working_dir: ~/crow2 # Command is `cd`-ed to this directory before execution
    command: ros2 launch crow_vision_ros2 all_cameras.launch.py # The service command
    tags: [ vision ] # Tags used for identification

  crow_object:
    working_dir: ~/crow2
    commands:
      - echo Multiline commands are also available
      - ros2 launch crow_vision_ros2 crow_object.launch.py
    tags: [ vision ]

  ...

```

