/machinery

A systems management toolkit for Linux

Primary LanguageRubyGNU General Public License v3.0GPL-3.0

Machinery

Code Climate Test Coverage Gem Version

Machinery is a systems management toolkit for Linux. It supports configuration discovery, system validation, and service migration. It's based on the idea of a universal system description.

A spin-off project of Machinery is Pennyworth, which is used to manage the integration test environment.

For more information, visit our website.

Contents

Installation

Machinery is tested and supported on openSUSE13.1 and SLES 12. It is also supported on openSUSE13.2. It will not run on other openSUSE versions, Linux distributions, or operating systems.

The easiest way to install Machinery is as an RPM from our homepage with the one-click-installer.

Usage

Machinery is a command-line tool. You can invoke it using the bin/machinery command. It accepts subcommands (similarly to git or bundle).

To display a short overview of available commands and their descriptions, use the help command:

$ machinery help

For more information about the commands, see Machinery man page.

Documentation

Development

The following steps are only recommended if you want to work on the Machinery codebase or test the latest development changes.

  1. Install Git

    $ sudo zypper in git
    
  2. Install basic Ruby environment

    $ sudo zypper in ruby rubygem-bundler
    

    After the installation, make sure that your ruby20 version is at least 2.0.0.p247-3.11.1:

    $ rpm -q ruby20
    

    With lower versions, bundle install won't work because of a bug.

  3. Install Machinery's dependencies

    Install packages needed to compile Gems with native extensions:

    $ sudo zypper in gcc-c++ make ruby-devel libxslt-devel libxml2-devel
    
  4. Clone Machinery repository and install Gem dependencies

    $ git clone git@github.com:SUSE/machinery.git
    $ cd machinery
    $ bundle config build.nokogiri --use-system-libraries
    $ bundle install
    
  5. Done!

    You can now start using Machinery by running bin/machinery.

  6. Contribute

    Now that you have Machinery running from git on your machine you are ready to hack. If you would like to get some overview of architecture and design of Machinery have a look at our Developer Documentation.

    We are happy if you share your changes with us as pull requests. Read the Contribution Guidelines for details how to do that.

Contact

You can subscribe to our mailing list (archive) if you would like to discuss using or contributing to Machinery. If you have any questions or feedback please feel free to send them to the mailing list as well.