Skip to content

firstkevinds/va_master

Repository files navigation

VA_Master

This is the core project of VapourApps, the master which contains:

  • Consul (monitoring the apps and KV store)
  • Salt Master (provisioning)
  • The scheduler (containing API and dashboard)

Installing in production

Requirements:

  • Debian Server 8 or any derivative (such as Ubuntu Server)
  • Unbound ports: tcp/80, tcp/443, tcp/8600, tcp/8500, tcp/8400, tcp/8300
  • Python 2.7, pip, setuptools

Debian dependencies: There are some OS-level dependencies (libssl source, supervisor daemon, build-essential compiler suite, HashiCorp Consul) that you can install, using the following command:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get update && sudo apt-get install -y build-essential python-dev libssl-dev libffi-dev libzmq-dev unzip supervisor curl python-libvirt nodejs xorriso python-setuptools
sudo easy_install pip

For 32bit server:

sudo curl https://releases.hashicorp.com/consul/0.7.0/consul_0.7.0_linux_386.zip > consul.zip && sudo unzip -d /usr/bin -o consul.zip consul

For 64bit server:

sudo curl https://releases.hashicorp.com/consul/0.7.0/consul_0.7.0_linux_amd64.zip > consul.zip && sudo unzip -d /usr/bin -o consul.zip consul

The software itself: Install the software.

sudo pip install pyzmq==17.1.0
sudo pip install tornado==4.5.3
pip install vapourapps
vapourapps init

Installing for development

Requirements:

  • the requirements for production (see above)
  • git (to get the code)
  • NodeJS (to build dashboard JavaScript code)
  • npm (to build dashboard JavaScript code)
git clone https://github.com/VapourApps/va_master.git
cd va_master
pip install -e .
vapourapps init
# Build dashboard JavaScript
cd va_dashboard
npm install --no-bin-links && node build.js
# Detach it from supervisor and manually run code
sudo supervisorctl stop va_master
sudo virtualenv/bin/python -m va_master start

Docs

The docs are available here

Testing

At the moment we are working on a test suite, which should contain unit tests and integration tests (with Salt-Cloud and Consul).

License

This project is distributed under the GPL v3 license.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8