2个不稳定版本
0.1.4 | 2024年2月9日 |
---|---|
0.0.1 | 2024年1月18日 |
#275 in Unix APIs
46KB
829 行
quadit
一个用于在Linux上使用quadlets部署systemd管理的容器的gitops工具。即quadlets。
介绍
quadit
专注于管理quadlets,并使用gitops模型以无根模式运行容器。
quadit
的核心用例是一个远程边缘
场景,强制执行纯拉模式,确保设备无入站访问。
它用Rust编写,以最小化总体占用空间并提高在资源有限系统上运行gitops服务的功耗。
有关quadlet的更多详细信息,请参阅这篇文章。
功能
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 |
可以是error 、warn 、info 、debug 、trace |
SYSTEMCTL_PATH | /usr/bin/systemctl |
systemctl 二进制文件的路径 |
支持版本
- podman >= 4.8.3
- fedora >= 39
- Red Hat Enterprise Linux >= 8
- ubuntu >= 22.04
开发服务
cargo install quadit
许可证
根据您的选择,许可协议可以是以下之一
- Apache License, Version 2.0, (LICENSE-APACHE或apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT或opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则任何有意提交以包含在您的工作中的贡献,根据Apache-2.0许可证定义,均应双许可如上所述,不附加任何其他条款或条件。如果您想为quadit
做出贡献,请阅读我们的CONTRIBUTING说明。
依赖关系
~20–37MB
~626K SLoC