This plugin enables management of Docker containers and images in Foreman
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.tx Fixes #11984 - Update the plugin to use the latest gettext from core, Feb 18, 2016
app refs #23019 - don't pass class to class_name in assocs (#211) Apr 16, 2018
config Fixes #14322 - Fixing API route scope Mar 28, 2016
db/migrate Fixes #20067 - Wrong constant name Docker/ImageSearch Jan 11, 2018
lib Release 4.1.0 Apr 16, 2018
locale Fixes #10417 - Translate wizard states Apr 1, 2016
release
test
.gitignore Fixes #11984 - Update the plugin to use the latest gettext from core, Feb 18, 2016
.hound.yml
.rubocop.yml Update to Rails 5.1 Dec 21, 2017
.rubocop_todo.yml
CHANGELOG Release 4.1.0 Apr 16, 2018
Contributors Release 4.1.0 Apr 16, 2018
Gemfile
LICENSE Change licence to GPLv3+ to match Foreman Apr 3, 2014
README.md
Rakefile Fixes #7977 - Enabling rubocop for foreman-docker Oct 17, 2014
foreman_docker.gemspec Update to Rails 5.1 Dec 21, 2017

README.md

Foreman Docker Plugin

Code Climate Gem Version Dependency Status Issue Stats

foreman_docker enables provisioning and managing of Docker containers and images in Foreman, all of that under the GPL v3+ license.

Features

  • Special view with logs and processes of Foreman managed containers
  • Wizard for container creation and cgroups configuration Select a docker image Cgroups configuration
  • Commit and upload containers: creates an image with the status of your current container Commit and upload to the docker hub
  • Container listing and basic CRUD operations

Planned

Installation

Please see the Foreman manual for appropriate instructions:

Red Hat, CentOS, Fedora, Scientific Linux (rpm)

Set up the repo as explained in the link above, then run

# yum install ruby193-rubygem-foreman_docker

Debian, Ubuntu (deb)

Set up the repo as explained in the link above, then run

# apt-get install ruby-foreman-docker

Bundle (gem)

Add the following to bundler.d/Gemfile.local.rb in your Foreman installation directory (/usr/share/foreman by default)

$ gem 'foreman_docker'

Then run bundle install and foreman-rake db:migrate from the same directory


To verify that the installation was successful, go to Foreman, top bar Administer > About and check 'foreman_docker' shows up in the System Status menu under the Plugins tab. You should also see a 'Containers' button show up in the top bar, similar to this

Configuration

Go to Infrastructure > Compute Resources and click on "New Compute Resource".

Choose the Docker provider, and fill in all the fields. User name, password, and email are used so that Docker clients such as Foreman can make the host download images from the Docker hub. Your password will be encrypted in the database.

That's it. You're now ready to create and manage containers in your new Docker compute resource.

Compatibility

Foreman Plugin
>= 1.5 0.0.1 - 0.0.3
>= 1.6 0.1.0 - 0.2.0
>= 1.7 1.0.0 - 2.1.1
>= 1.7 3.0.0+
>= 1.15 3.1.0+

Docker Registry API Compatibility

Plugin version Registry API version
< 3.1.0 v1
>= 3.1.0 v1, v2*****

*** Note:** API v2 as default and v1 to fall back on.

See extras/RELEASE.md for more detailed information on compatibility and releases.

How to contribute?

Generally, follow the Foreman guidelines. For code-related contributions, fork this project and send a pull request with all changes. Some things to keep in mind:

  • Code from the master branch can contain features only present in Fog's master branch, we commit to wait for the next Fog release to put that code in a foreman-docker release.
  • Follow the rules about commit message style and create a Redmine issue. Doing this right will help reviewers to get your contribution merged faster.
  • Rubocop will analyze your code, you can run it locally with rake rubocop.
  • All of our pull requests run the full test suite in our Jenkins CI system. Please include tests in your pull requests for any additions or changes in functionality

Testing

Run rake test:docker from your Foreman directory to run the test suite.

Latest code

You can get the develop branch of the plugin by specifying your Gemfile in this way:

gem 'foreman_docker', :git => "https://github.com/theforeman/foreman-docker.git"

Copyright

Copyright (c) 2014 Amos Benari

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.