# Lithos [Documentation](http://lithos.readthedocs.org) Lithos is a process supervisor and containerizer for running services. Lithos is not intended to be system init. But rather tries to be a base tool to build container orchestration. Features: * use linux namespaces and cgroups for containerization * immediate restart of failing processes (with rate limit of course) * in-place upgrade of lithos without touching child processes * written in Rust so memory-safe and has zero runtime dependencies It's designed to have absolutely minimal required functionality. In particular it doesn't include: * an image downloader (``rsync`` is super-cool) or builder (use any tool) * any network API ## Running Examples Testing it in vagrant:: vagrant up && vagrant ssh In vagrant shell:: $ ./example_configs.sh $ sudo lithos_tree If you want to change containers, sources or configs of this test vagrant deployment just rerun ``./example_configs.sh``. (Note: in this test deployment lithos doesn't properly reload configs, because images does not version properly. Just restart `lithos_tree` to apply the changes) License ======= Licensed under either of * Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) * MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT) at your option. Contribution ------------ Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.