Skip to content

YAML File Structures

David Leins edited this page Sep 4, 2018 · 12 revisions

YAML File Structures

Currently a launchable system is split in 3 file types: component, group and system. The idea is to keep those organized with the following directory structure:

.
├── components
│   ├── groups
│   │   ├── Group_0.yaml
│   │   ├── Group_1.yaml
│   │   ├── ...
│   │   └── Group_N.yaml
│   ├── Component_0.yaml
│   ├── Component_1.yaml
│   ├── ...
│   └── Component_N.yaml
└── systems
    ├── Component_0.yaml
    ├── Component_1.yaml
    ├── ...
    └── Component_N.yaml 

Component.yaml

name: Component name
cmd:
  - start: start shell command
  - check: check shell command
provides: providing dependency
requires: required dependency
host: host the component will run on

The requires and provides arguments are optional.

Group.yaml

name: Group name
components:
  - !include ../Component_0.yaml
...
  - !include ../Component_N.yaml

System.yaml

name: Launchable System Name 
groups:
  - !include ../components/groups/Group_0.yaml
...
  - !include ../components/groups/Group_N.yaml
autostart: true

Clone this wiki locally