2017-05-07 09:30 to 2017-05-07 10:30

Experience level


Session Track


Libral - towards a systems management API for Linux

Linux, in keeping with Unix traditions, is famous for not having a comprehensive management API. Yet, over the last decade of implementing configuration management tools, we have learnt what such an API should look like, and produced multiple implementations of such API's, one for each tool. This has lead to enormous duplication of effort, and yet these implementations are only useful in the context of the entire, generally heavy-weight, tool. Past projects that have attempted to build such an API have generally failed because they were too hard to use and their management capabilities too hard to extend.

Libral is a project that aims to provide the basic functionality of a management API that existing and future management tools can build onto. Its goals are a desired-state, idempotent management API, a footprint that makes it suitable for resource-constrained environments, and extension mechanisms that make it easy to add management of new types of resources. Since discovering configuration is becoming as important as enforcing changes to it, libral's API is bidirectional so that existing resources can be listed and found in the same format as that used to enforce changes.

In this talk, we will explain the rationale and the need for Libral and the use cases it addresses for long-lived servers as well as in the world of containers and devices, show its current status, and discuss the future of its development and community.