Balic - Command-line Linux Containers Toolset
Project description
Balič (read balitch) is a command-line toolset for working with LXC containers.
Installation
Install balic via pip:
pip install balic
Balic requires the following packages installed:
appdirs cliff
Usage
Create a new container:
# create a new lxc container called test balic create -n test
Build setup:
# create test build directory mkdir test # create build.sh that echos hello world inside the container echo 'echo "hello world"' > test/build.sh # copy test directory into the container and run build.sh balic build -n test -d test
In case you need to prepare anything in the build directory:
# create prepare.sh which will be executed locally to prepare build dir echo 'echo "prepare something inside build dir: `dirname "$0"`"' > test/prepare.sh # run prepare.sh in given build dir balic prepare -n test -d test
Multi-step builds can be done as well:
# create test_step2 build directory mkdir test_step2 # create build.sh that echos "another step" inside the container echo 'echo "another step"' > test_step2/build.sh # copy test directory into container and run build.sh balic build -n test -d test_step2
Pack the built container:
# pack test lxc container into rootfs.tar.gz balic pack -n test -o rootfs.tar.gz
Destroy the container when no longer needed:
# destroy test lxc container balic destroy -n test
Full workflow:
balic create -n test # creates lxc container names test balic prepare -n test -d build_dir # run prepare.sh inside the build_dir balic build -n test -d build_dir # builds test lxc container using content of build_dir balic build -n test -d build_dir2 # builds test lxc container using content of build_dir2 balic build -n test -d build_dir3 # builds test lxc container using content of build_dir3 ... balic pack -n test -o rootfs.tar.gz # packs test lxc container into rootfs.tar.gz balic destroy -n test # destroy test lxc container
Use environment input parameter for build and prepare commands:
# to run `build.sh environment` or `prepare.sh environment` use -e input parameter balic prepare -n test -d test -e production balic build -n test -d test -e production
Ie. whatever you specify as environment ends up as $1 in build.sh / prepare.sh.
Documentation
Source of the documentaton is available in the Balic repository https://gitlab.com/markuz/balic/tree/master/docs/source
Development
Pull requests welcomed.
Balic git repository is available at https://gitlab.com/markuz/balic
For more information, see https://gitlab.com/markuz/balic/-/blob/master/docs/source/development.rst
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for balic-0.0.8-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac593a1f302085ad5585548c340aae4275df75c39e5c38ccd6357b852be83aee |
|
MD5 | 9bc2c8a700b2eb48a821f896ccb63153 |
|
BLAKE2b-256 | 25a4398665eb935343ded8b6b469c92f8771e0c2e87b765c04cf8aad37bb72e2 |