quadit
A gitops tool to deploy systemd managed containers on linux. A.K.A quadlets.
Introduction
quadit is focused on managing quadlets and running containers in rootless mode using a gitops model.
The quadit' core usecase is a remote edge scenario enforcing a pure pull model that ensures no inbound access to the device.
It is written in rust to minimise the overall footprint and improve the power consumption of running a gitops service on low resourced systems.
For more detail on quadlet see this article.
features
quadit is a very opinionated reimplementation of the fantastic fetchit podman management system.
Please evaluate the following matrix to understand which one would better suit your needs.
| fetchit | quadit | notes | |
|---|---|---|---|
| simple file transfer | :green_circle: | :red_circle: | May be considered as a feature if required |
| ansible | :green_circle: | :red_circle: | Not a quadit goal |
| kube | :green_circle: | :red_circle: | Not a quadit goal |
| raw | :green_circle: | :red_circle: | Not a quadit goal |
| root systemd | :green_circle: | :red_circle: | Not a quadit goal |
| user systemd | :green_circle: | :red_circle: | Not a quadit goal |
| auto-update | :green_circle: | :green_circle: | quadit is targeting auto configuration |
| root quadlet | :red_circle: | :red_circle: | Currently not a quadit goal but open to re-evaluation |
| user quadlet | :red_circle: | :green_circle: | Not available in fetchit See fetchit issue |
| systemd stop | :red_circle: | :green_circle: | Code exists in fetchit but not surfaced in config |
| systemd start | :red_circle: | :green_circle: | Not implemented in fetchit |
install
development
cargo install quadit
quadit config
quadit deploy
production -TBD
loginctl enable-linger <username>
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or opensource.org/licenses/MIT)
at your option.
Contributions
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.
If you want to contribute to quadit, please read our CONTRIBUTING notes.