cookbook 'lxc', '= 0.1.0'
lxc (11) Versions 0.1.0 Follow20
Chef driven Linux Containers
cookbook 'lxc', '= 0.1.0', :supermarket
knife supermarket install lxc
knife supermarket download lxc
LXC
Manage linux containers with Chef.
Recipes
default
Installs the packages and configuration files needed for lxc on the server. If
the node uses apt-cacher-ng as a client, the server will be reused when building
containers.
install_dependencies
Installs the packages needed to support lxc's containers.
containers
This recipe creates all of the containers defined in the ['lxc']['containers']
hash. Here is an example of an example
container:
node['lxc']['containers']['example'] = { 'template' => 'ubuntu', 'trim' => , false, 'debug' => , true }
You may set trim
and debug
to true
if you need them (default is false
).
Backing store file system and template options are not yet supported.
knife
Install and manage containers via the knife-remotelxc plugin.
Example
include_recipe 'lxc' lxc_container 'my_container' do action :create validation_client 'my-validator' server_uri 'https://api.opscode.com/organizations/myorg' validator_pem content_from_encrypted_dbag run_list ['role[base]'] chef_enabled true end lxc_container 'my_container_clone' do action :clone base_container 'my_container' chef_enabled true end lxc_service 'my_container_clone' do action :start end
Containers do not have to be Chef enabled but it does make them
extremely easy to configure. If you want the Omnibus installer
cached, you can set the attribute
node['omnibus_updater']['cache_omnibus_installer'] = true
in a role or environment (default is false). The lxc_container
resource also provides initialize_commands
which an array of
commands can be provided that will be run after the container is
created.
Repository:
Contributors
- Sean Porter (https://github.com/portertech)
- Matt Ray (https://github.com/mattray)