Skip to content

Latest commit

 

History

History
59 lines (45 loc) · 2.49 KB

README.adoc

File metadata and controls

59 lines (45 loc) · 2.49 KB

Barbarian

Barbarian is a Conan meta-server providing package recipes directly from GitHub repositories.

Introduction

This is the server component of Barbarian with accompanying tools to maintain its operation. It’s composed of: a back-end MySQL (or MariaDB) database, a NodeJS web site with REST end points, a Python tool to maintain the database.

Note
The level of development of this service is "alpha". Which means that everything is subject to change. And that the development procedures are in an incomplete and rough state. This will improve over time.

Development

Developing changes to the server is done almost entirely locally with the help of: running a local database instance, running a local NodeJS server, targeting the Conan and other tools to localhost endpoints, building with B2, and debugging in VScode. As such the requirements for local development are:

Warning
This server and tools is developed and run in Linux environments. Hence, it is unlikely it works in other environments. But contributions to address that are welcomed.
Warning
There currently is zero automated testing, local or otherwise. All testing is done manually during development. Contributions to add such automated testing will be appreciated.

Deployment

The procedure for deploying a new version of the server to either the Jenna or Barbarian live service is currently a manual operation that requires specific access permissions. Below is a checklist for how to perform the deployment as reference. This list assumes working dir is this project’s root.

  1. Install Rosina tool: pip install --upgrade .

  2. Disable services: ./.dbconf.production.sh barbarian_rosina turnoff

  3. Migrate database schema: ./.dbconf.production.sh barbarian_rosina migrate

  4. Deploy to Jenna (testing) and/or Barbarian (production) server: ./deploy.sh jenna and/or ./deploy.sh barbarian

  5. Enable services: ./.dbconf.production.sh barbarian_rosina turnon

License

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)