holodev

A command-line tool written in shell script to simplify the creation of LXC Linux containers.

1
contributor
257 commits | Last commit 2 months ago

What holodev can do for you

Build Status

holodev

holodev is a command-line tool to simplify the creation of Linux Containers.

It is developed under the UNIX philosophy (Do One Thing and Do It Well) and the GNU principles (free as in freedom).

A holodeck for software development

A tool to facilitate the creation of Linux Containers for local development environments, it supports only Linux Containers running Debian distribution.

The name holodev is a reference to the Holodeck from Star Trek:

Supported GNU/Linux distributions:

Distroholodev 0.9holodev 1.0holodev 1.1
Debian Squeezynot supportednot supportednot supported
Debian Wheezynot supportednot supportednot supported
Debian Jessiesupportedsupportednot supported
Debian Stretchnot testednot testedsupported
Debian Bustersupportedsupportedsupported
Ubuntu Precisenot supportednot supportednot supported
Ubuntu Trustysupportedsupportednot supported
Ubuntu Utopicnot testednot testednot tested
Ubuntu Vividsupportednot tested
Ubuntu Wilysupportednot tested
Ubuntu Xenialsupportedsupported
Archlinuxsupportednot testedsupported
openSUSE 42.1not testedsupported
openSUSE 42.2not testedsupported
openSUSE 42.3not testednot supportednot supported
openSUSE Tumbleweedsupportedsupported
Fedora 24supportedsupported
Fedora 25supportedsupported
Fedora 26not testedsupported
Fedora 27not testedsupported

sudo

Unfortunately, support for "unprivileged containers" in Debian Jessie is not mature enough, then holodev needs sudo to create and run "privileged containers".

Installing in Debian

Add the following repository to the sources.list:

deb http://debian.joenio.me unstable/

Download the key from the Debian repo:

# wget -O - http://debian.joenio.me/signing.asc | apt-key add -

Install:

# apt-get update
# apt-get install holodev

Installing in OpenSUSE

Development release

For development releases, you'll need to add the devel:tools equivalent to your distro version:

Tumbleweed

# zypper ar http://download.opensuse.org/repositories/devel:/tools/openSUSE_Tumbleweed/devel:tools.repo

Leap

# zypper ar http://download.opensuse.org/repositories/devel:/tools/openSUSE_Leap_42.1/devel:tools.repo

13.2

# zypper ar http://download.opensuse.org/repositories/devel:/tools/openSUSE_13.2/devel:tools.repo

13.1

# zypper ar http://download.opensuse.org/repositories/devel:/tools/openSUSE_13.1/devel:tools.repo

Then update your repo list:

# zypper ref

And finally install holodev:

# zypper in holodev

Stable release

holodev is part of the default repositories for current OpenSUSE distros (Leap and Tumbleweed), so no additional repo is needed.

Make sure your repos are updated:

# zypper ref

And install holodev:

# zypper in holodev

Installing in Archlinux

To install holodev on Archlinux it is necessary to have access to the AUR repository, and have any wrapper of pacman that watches AUR. If you are using Archlinux, it is almost safe to assume that you already have AUR and yaourt already configured to use. In any case, if you don't:

To watch AUR, edit the following file:

# vi /etc/pacman.conf

Then add:

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

To install yaourt follow this link instructions

Finally, install holodev:

yaourt -Syy
yaourt -S holodev

or:

yaourt -S holodev-git

if you want the bleeding edge version.

Installing in Fedora

(pending)

Using

(see manpage)

Development

holodev has a small test suite implemented based on shunit2:

To run these tests you need to install vagrant, virtualbox and run the command vagrant up. In some cases you may need to install Virtualbox-guest-utils and perform the following:

    dpkg-reconfigure virtualbox-dkms

Use the script development-setup.sh (as root) to install development dependencies on your system.

Running tests

vagrant up
make test-vagrant

Building Debian package

To avoid running tests when building package run:

DEB_BUILD_OPTIONS=nocheck gbp buildpackage

Authors

License

GNU GPLv2+

Logo of holodev
Keywords
No keywords available
Programming languages
  • Shell 98%
  • Makefile 2%
License
</>Source code

Contributors