Specinfra Docker LXC Backend

Gem Version Dependency Status Code Climate Circle CI Travis CI Coverage Status Inline docs

Serverspec / Specinfra backend for Docker LXC execution driver.

Requirements

  • Recommended Docker 1.7.0 or higher.
  • sudo installed (not in the container).
  • lxc-attach binary installed (included in the lxc package).

Installation

Add this line to your application's Gemfile:

# Gemfile

gem 'specinfra-backend-docker_lxc', '~> 0.2.0'

And then execute:

$ bundle

Or install it yourself as:

$ gem install specinfra-backend-docker_lxc

Usage

require 'serverspec'
require 'specinfra/backend/docker_lxc'

set :docker_image, ENV['DOCKER_IMAGE_ID']
set :backend, :docker_lxc

describe 'Dockerfile run' do
  describe service('httpd') do
    it { should be_enabled }
    it { should be_running }
  end
end

Configuration

Uses the following Specinfra configuration options:

  • :sudo_options: Sudo command argument list as string or as array.
  • :sudo_path: Sudo binary directory.
  • :sudo_password
  • :disable_sudo: whether to disable Sudo (enabled by default).

For example:

set :sudo_password, 'mBnriM8SKhRtIww7xgUi'

Testing

See TESTING.md.

Contributing

Please do not hesitate to open an issue with any questions or problems.

See CONTRIBUTING.md.

TODO

See TODO.md.

License and Author

Author: Xabier de Zuazo (xabier@zuazo.org)
Copyright: Copyright (c) 2015 Xabier de Zuazo
License: Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.