跳转到主要内容

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 删除旧代码,并通过 IOReadIOPSMaxIOWriteIOPSMax 节流操作。

    这之前没有效果,因为这些设置错误地放置在 [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.Mailhogpublic_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 的日志输出(stdoutstderr)移动到不同的命名空间,例如 "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 (94.4 kB 查看哈希)

上传时间

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面