/fireq

Primary LanguagePython

Fireq has Github integration and can deploy, run predefined CI checks (like flake8, nosetests e2e tests, etc.), backup databases for according instance, generate base containers, etc. More details.

Fireq is built around command line interface ./fire -h, it uses mustache templates in tpl directory to generate straightforward bash scripts. Mustache gives ability to use includes and override just few files as needed, for example the main directory is tpl/superdesk and it contains a lot of files, but to adjust Liveblog deployment it needs override few of them so no duplication needed. It proved already that it's pretty flexible and works pretty well.

Fireq uses LXC for CI and deployment.

Web application is built with aiohttp and it's wrapper around fireq.cli and handles Github webhooks and CI Dashbord.

Repository contains tree main branches:

  1. master with code
  2. init files to override behavior of according instance (details)
  3. files is separate branch for auto-generated install files

Installations

Generate files

To test install scripts:

./fire gen-files

# superdesk
./fire lxc-init sd
cat files/superdesk/install | ./fire lxc-ssh sd

History

Details in according issue: SDESK-146.