A tool to provision, configure and maintain FreeBSD jails
Project description
BSDploy is a tool to deploy FreeBSD jails.
Not wanting to re-invent the wheel, under the hood it uses mr.awsome for provisioning, ansible for configuration and fabric for maintenance.
Features
configure multiple hosts and jails in one canonical ini-file
bootstrap complete jail hosts from scratch - both virtual machines, as well as physical ones. bsdploy will take care of installing FreeBSD for you, including configuration of ZFS pools and even encrypts them by default(!) using GELI.
create new jails simply by adding two or more lines to your configuration file and running ploy start – bsdploy will take care of configuring the required IP address on the host
ansible support – no more mucking about with host files: all hosts and their variables defined in ploy.conf are automatically exposed to ansible. Run them with ploy playbook path/to/playbook.yml.
ditto for Fabric – run fabric scripts with ploy do JAILNAME TASKNAME and have all your hosts and their variables at your disposal in fab.env.
jails receive private IP addresses by default, so they are not reachable from the outside - for configuration access (i.e. applying ansible playbooks to them or running fabric scripts inside of them) bsdploy transparently configures SSH ProxyCommand based access.
Easily configure ipnat on the jail host to white-list access from the outside – this greatly reduces (sadly not eliminates) the chance of accidentally exposing services to the outside world that shouldn’t be.
With bsdploy you can create and configure one or more jail hosts with one or more jails inside them, all configured in one canonical ini style configuration file (by default in etc/ploy.conf):
[ez-master:vm-master] host = 127.0.0.1 port = 47022 [ez-instance:webserver] ip = 10.0.0.2 fqdn = test.local fabfile = deployment/webserver.py [ez-instance:database] ip = 10.0.0.3 dbname = production [ez-instance:application] ip = 10.0.0.4 version = 1.2.3
Examples
To give it a spin, best check out the example repository.
TODO
documentation cough
make rc.conf a template (to support non-DHCP jailhost scenario)
allow for offline installation of ezjail
allow for offline installation of pkgng
include poudriere support
eliminate need for proxycommand, proxyhost and hooks entries for jail configuration in ploy.conf
make the private network for the jails configurable (the hard coded 10.0.0.x is not always desirable)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file bsdploy-0.1alpha1.zip
.
File metadata
- Download URL: bsdploy-0.1alpha1.zip
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70b86ed515367d0c549a30c71ba9668460033fb070168fa97db8490440db834d |
|
MD5 | b2a3775be104b4df1308da6ade8a62a0 |
|
BLAKE2b-256 | 61a96fb4288cce75297afc167b30a43ed638b1a18a8ec1f4297c3c03b3d54f85 |