#container #deployment #systemd #linux #managed #remote #quadlets

bin+lib quadit

一个用于在Linux上使用quadlets部署systemd管理的容器的gitops工具

2个不稳定版本

0.1.4 2024年2月9日
0.0.1 2024年1月18日

#275 in Unix APIs

MIT/Apache

46KB
829

quadit

一个用于在Linux上使用quadlets部署systemd管理的容器的gitops工具。即quadlets。

介绍

quadit专注于管理quadlets,并使用gitops模型以无根模式运行容器。

quadit的核心用例是一个远程边缘场景,强制执行纯拉模式,确保设备无入站访问。

它用Rust编写,以最小化总体占用空间并提高在资源有限系统上运行gitops服务的功耗。

有关quadlet的更多详细信息,请参阅这篇文章

Build crates.io dependency status

功能

quadit是对出色的fetchit podman管理系统的一种非常具有倾向性的重实现。

请评估以下矩阵,以了解哪一个更适合您的需求。

fetchit quadit 备注
简单文件传输 如果需要,可能被视为功能
ansible 不是quadit的目标
kube 原始yaml文件不是quadit的目标
原始 不是quadit的目标
plain systemd文件 如果需要,可能被视为功能
用户quadlet 在fetchit中不可用 见fetchit问题
root quadlet 如果需要,可能被视为功能
systemd停止 代码存在在fetchit中,但在配置中没有显示
systemd启动 fetchit中未实现
自动更新 quadit针对自动配置,但尚未开始工作
.kube 标准quadlet文件类型
.volume 标准quadlet文件类型
.network 标准quadlet文件类型
.pod 标准quadlet文件类型
.container 标准quadlet文件类型

安装

从运行最新podman的系统分发的系统设备中运行以下命令

mkdir ~/.quadit
curl -o ~/.quadit https://raw.githubusercontent.com/ubiquitous-factory/quadit/main/samples/config.yaml
curl -o ~/.config/containers/systemd https://raw.githubusercontent.com/ubiquitous-factory/quadit/main/deploy/quadit.container
loginctl enable-linger $USER

环境变量

这些环境变量都不需要调整,但它们作为可用的选项进行了记录。

名称 默认值 描述
BOOT_URL 从远程URL的config.yaml启动服务。覆盖本地的config.yaml
LOCAL 'no' 如果设置为'yes',则程序将假定它不在容器中,并使用$HOME的本地用户配置运行,而不是使用/opt位置
PODMAN_UNIT_PATH $HOME/.config/containers/systemd 容器文件应在主机上写入的位置
JOB_PATH 留空以进行测试,但在quadit.container文件中设置为/tmp
JOB_FOLDER jobs 保存作业的文件夹名称。
XDG_RUNTIME_DIR /run/user/%U systemd用于在用户特定的目录中存储小型临时文件
HOME %u 由systemd参数%u设置,但可以在quadit.container文件中重写
PODMAN_SYSTEMD_UNIT %n 由systemd设置 - 单元的名称
LOG_LEVEL info 可以是errorwarninfodebugtrace
SYSTEMCTL_PATH /usr/bin/systemctl systemctl二进制文件的路径

支持版本

  • podman >= 4.8.3
  • fedora >= 39
  • Red Hat Enterprise Linux >= 8
  • ubuntu >= 22.04

开发服务

cargo install quadit

许可证

根据您的选择,许可协议可以是以下之一

任选其一。

贡献

除非您明确声明,否则任何有意提交以包含在您的工作中的贡献,根据Apache-2.0许可证定义,均应双许可如上所述,不附加任何其他条款或条件。如果您想为quadit做出贡献,请阅读我们的CONTRIBUTING说明

依赖关系

~20–37MB
~626K SLoC