Giter Club home page Giter Club logo

lxc's Introduction

LXC

Manage linux containers with Chef.

Note

Test this cookbook before applying to existing nodes. Lots of updates have been applied, and some tooling has been replaced. Also, rhel is working in a pretty hacky way, so use at your own risk. YOLO!

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',
  'initialize_commands' => ['apt-get update']
}

knife

Install and manage containers via the knife-remotelxc plugin.

package

Installs lxc packages

service

Configures lxc services

LWRPs

lxc

Allows for creation, deletion, and cloning of containers

lxc_config

Allows configuration of the LXC configuration file

lxc_fstab

Allows defining mounts to be used within the container

lxc_interface

Allows configurations of network interfaces within a container

lxc_ephemeral

Run a command within an ephemeral container

lxc_container

Creates a container using the lxc LWRP and configures the container as requested. This resource also allows nesting lxc_fstab and lxc_interface within the container resource.

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
  fstab_mount "Persist" do
    file_system '/opt/file_store'
    mount_point '/opt/file_store'
    type 'none'
    options 'bind,rw'
  end
end

lxc_container 'my_container_clone' do
  action :create
  clone '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

lxc's People

Contributors

aespinosa avatar antoinerg avatar bflad avatar bkw avatar bryanwb avatar chrisroberts avatar dje avatar jbianquetti avatar mattray avatar mdkent avatar portertech avatar sanders avatar therobot avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.