batou的组件库。
项目描述
batou_ext - batou的组件库
batou_ext
主分支现在支持 Python3,并依赖于 batou2。如果您仍然想使用与 Python2 运行的 batou 1.x 版本的 batou_ext
,您仍然可以使用 batou1-py2 分支。
要将 batou_ext
添加到您的部署中,请将以下内容添加到您的 batou 部署的 requirements.txt
文件中:
batou_ext>=2.4
开发和发布流程
-
更改应伴随一个变更日志条目。使用
./changelog.sh
创建一个。 -
发布将创建一个标签并将软件包发布到 PyPI。使用
./release-this.sh
创建一个发布版本。
S3 存储桶的自举
仅适用于 Flying Circus 管理员。
安装 s3-bootstrap
功能
batou_ext[s3-bootstrap]>=2.4.6
然后运行
./appenv update-lockfile
./appenv run s3_bootstrap
该脚本将交互式地引导您创建一个 S3 存储桶,如果需要,还会创建一个访问密钥对和生命周期规则。
在激活的 virtualenv 中,可以使用 python -m batou_ext.s3_bootstrap
进行测试。
2.4.16 (2024-09-11)
-
添加了一个新的组件
batou_ext.mail.Mailpit
。Mailpit 是 Mailhog 的替代品,因为 Mailhog 已不再维护。 -
修复了一个导致测试失败的神秘回归问题
-
redis.Redis:允许设置提供程序名称
-
SymlinkAndCleanup
内部使用DeploymentTrash
组件,该组件使用systemd-tmpfiles
删除旧代码,并通过IOReadIOPSMax
和IOWriteIOPSMax
节流操作。这之前没有效果,因为这些设置错误地放置在
[Unit]
而不是[Service]
中。
2.4.15 (2024-08-26)
- 修复了版本更新脚本中的回归,其中环境未正确加载
2.4.14 (2024-08-12)
ssl.Certificate
:为非 Let's Encrypt 证书设置适当的 ACL。
2.4.13 (2024-08-12)
- 修复了证书续订期间设置
ssl.Certificate
ACL 的问题。
2.4.12 (2024-08-12)
- 在证书续订时为
ssl.Certificates
设置正确的 ACL。
2.4.11 (2024-08-09)
-
oci.Container
:添加禁用 OCI 容器监控的选项。这对于不持续运行的容器非常有用。
-
oci.Container
:使重建成为可选的当有多个容器部署且需要同时激活时很有用。
-
修复了版本更新脚本中的错误,其中共享相同分支的多个环境不会正确更新
-
将
SymlinkAndCleanup
组件调整为使用 systemd 的 tmpfiles 异步清理,而不是立即删除所有候选者
2.4.10 (2024-06-11)
-
修复了
oci.Container
中的错误,即使远程标签已更新,容器图像摘要不同步时,容器也不会正确重启 -
修复了 oci 容器组件的 verify 方法中的拼写错误
2.4.9 (2024-06-04)
-
batou_ext.python.FixELFRunPath
:不仅搜索env_directory
,还搜索其子目录以找到修补库所需的 C 库。 -
修复了当找不到软件包时
PurgePackage
抛出错误的问题。 -
batou_ext.mail.Mailhog
的public_smtp_name
属性现在具有默认值。它指向self.host.fqdn
。 -
调整证书过期检查输出,使其更容易解析
2.4.8 (2024-05-08)
- systemd 计时器:添加启用持久性的选项:systemd 计时器现在默认是非持久的。之前的默认行为是 cronjob 的问题,这些 cronjob 不应该在重启/停机后立即启动
- 添加了一个组件
batou_ext.python.FixELFRunPath
,该组件修改 venv 中.so
-文件的DT_RUNPATH
&DT_RPATH
,以加载正确的库(来自 Nix 环境或其他 Python 库)。在使用之前请仔细阅读文档字符串。
-
OCI:在部署期间缓存验证结果。
缓存结果可加快部署速度,特别是对于部署具有相同图像的多个容器的场景。
2.4.7 (2024-04-29)
- 添加了组件
batou_ext.http.HTTPServiceWatchdog
,该组件向 systemd 单元添加一个检查,以确定给定的 URL 是否可访问(例如,/health
端点)。如果在一定时间内无法访问 URL,则将重新启动服务。详细信息请参阅文档字符串。
- 修复
SymlinkAndCleanup
的异步删除功能,并允许为systemd run
提供自定义额外参数。
2.4.6 (2024-04-23)
-
OCI:支持登录与引用容器所用的注册表不同的注册表。
-
OCI:改进远程镜像的变化检测(对 docker.io 是必需的)。
-
OCI:nix 文件不包含敏感数据,因此不要将其标记为敏感。
-
OCI:添加对 extraOptions 的支持。
- 添加了一个名为
s3_bootstrap
的脚本,可以交互式地创建 S3 存储桶(如果需要,包括 radosgw 账户和密钥)。如果请求了s3-bootstrap
额外选项,则会与batou_ext
一起安装。
2.4.5 (2024-04-17)
-
添加一个选项,将 mailhog 的日志输出(
stdout
和stderr
)移动到不同的命名空间,例如 "mailhog"。有关更多信息,请参阅 systemd.exec(5)。 -
添加一个选项以禁用 mailhog 服务的
stdout
记录。 -
改进版本文件检测以进行版本更新。
-
修复了 oci.Container verify 方法在 docker 容器环境文件发生变化时未抛出 updaterequired 错误的问题。
-
为 SymlinkAndCleanup 删除添加 systemd-run 异步清理选项。
2.4.4 (2024-04-05)
- 更改 batou_ext.versions 更新器的行为,以允许环境共享分支。
- 添加了一个名为
batou_ext.git.Remote
的组件,它允许操作 Git 存储库的远程。
2.4.3 (2024-01-17)
- 改进了
PurgePackage
组件的输出处理。如果包已被清除或由于其他原因未安装,将不再在日志中显示为致命错误。
2.4.2 (2023-12-08)
-
使向由
SystemdTimer()
创建的服务添加任意额外配置成为可能。 -
添加
nixos.NixOSModule
以将组件属性注入到 .nix 文件中。
2.4.1 (2023-11-16)
- 将
*.md
添加到发布中,以便它可以真正使用。
2.4.0 (2023-11-16)
- 添加带有更改日志的发布流程(FC-33250)。
项目详情
batou_ext-2.4.16.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 34c90cc19ae0de6b88b3fa136c5a3fb0e1fa7550c9f709f960097338ad74be2b |
|
MD5 | 608de2c81dffc581d0df9145b1bc8a6a |
|
BLAKE2b-256 | 7844a81955acb07ba9a216106be413f895555a9b5e682812dc6824ff2382befe |