Scroll to top
a SUSE Technology Experiment

Machinery

A command line application for creating descriptions of Linux systems and working with them.

Machinery supports use cases such as
configuration discovery,
system validation,
and service migration.

Machinery is based on the idea of an
universal system description.
It is transparent,
extensible, and crafted beautifully.

Machinery is made for the system administrator of the data center. Read more about the philosophy behind it.

Machinery is a command line application for creating descriptions of Linux systems and working with them.

You can use it to get insight into existing systems, to store and track their state, or to create new systems based on existing ones.

Machinery provides powerful views of individual and comparisons between systems.

It can also export descriptions to other tools for installation, migration, image building, containerization, or cloud deployment, and provides defined interfaces to work with system descriptions from your custom tools.

Configuration discovery

Inspect a system, extract configuration and installed software. Write a description which can be used to replicate the system, to track its history, or to use it as a reference for other systems.


System validation

Validate systems by comparing against a known good state. Capture reference configuration in template descriptions. Track changes of configuration or installed files over time or compared to other systems.


Service migration

Migrate your services from one kind of system to another. Migrate physical systems to the cloud. Migrate from one operating system version to another. Do this in a repeatable, documented way, which can be adapted to your needs.


Universal System Description

Philosophy

Made for the system administrator of the data center

Machinery is made for the system administrator managing many machines in the data center. It helps in an environment where a high degree of automation, integration of diverse tools, and accountable management are key.

Universal system description

The architecture and design of Machinery is based on the idea of a universal system description. This describes the content of a system. The description can be stored, compared to other descriptions, analyzed, modified, or used to replicate a system from a description. You can call it "offline systems management".

Integrate, not duplicate

Machinery is not another configuration management system or monitoring tool. We don't intend to duplicate something which is already there. We want to fill the gaps and address use cases which aren't covered by existing tools. We want to integrate with other tools and bring together what people use.

Open toolbox

Machinery is an open toolbox. It provides a framework and building blocks for covering a variety of advanced systems management use cases. It's meant to be extensible and to provide a foundation for adding more functionality needed by specific users and their work flows. We welcome contributions.

Agile development

Machinery is an open source project, and there is a team behind it at SUSE. We develop it in an agile fashion. We do two-week sprints and do frequent stable releases. Needs of users drive our priorities. We value feedback and try to address it as good as we can. We strive to continually improve, not only the software, but also how we create it.

Technical excellence

We hold ourself to high technical standards. We do mandatory code reviews, test-driven development, continuous integration and builds. We follow technical trends and consciously choose tools and frameworks.