A command line application for creating descriptions of Linux systems and working with them.
Machinery supports use cases such as
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.
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.
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.
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.
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".
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.
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.
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.
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.