/pybsd

a Python tool to provision, keep in sync and manage FreeBSD boxes and jails

Primary LanguagePythonOtherNOASSERTION

PyBSD

a Python tool to provision, keep in sync and manage FreeBSD boxes and jails

Free software: BSD license

PyPi: https://pypi.python.org/pypi/pybsd
Github: https://github.com/rebost/pybsd
Read the Docs: http://pybsd.readthedocs.org/

Tested on Python 2.7, Python 3.4 and PyPy

docs Documentation Status
tests
Travis-CI Build Status AppVeyor Build Status
Coverage Status Coverage Status Code Quality Status Scrutinizer Status
package PyPI Package latest release PyPI Package monthly downloads

Provisioning, keeping in sync and maintaining even a medium-sized pool of FreeBSD boxes and jails can quickly become a time-consuming and complex task. Tools like Ansible , Fabric and ezjail provide welcome help in one aspect or another and it makes sense to integrate them into a Python-based interface that allows centralized, push-oriented and automated interaction.

A project like bsdploy already leverages these tools to great effect albeit in a very inflexible way that cannot easily be applied to an existing deployment. PyBSD-Project aims at providing a fully customizable Python tool that can be used to maintain an existing array of servers as well as set one up and at making available as well as safely, easily and quickly deployable a wide array of pre-configured, clonable and configurable jails to implement, in a DevOps spirit, tools such as:

Somewhere down the line interfacing with tsuru or an equivalent is a goal. On the other hand, once the above shopping list is completed, Docker on FreeBSD will probably be a reality 8P.

Installation

pip install pybsd

Quick start

from pybsd import Master
box01 = Master(name='box01', ext_if=('re0', ['8.8.8.8/24']))
box01.ezjail_admin.list()

Documentation

https://pybsd.readthedocs.org/

Development

To run the all tests run:

tox -e 2.7,3.4,pypy