#webhook #podman #容器 #容器镜像 #操作 #自动更新 #auto-update

app podman-autoupdate-hook

手动触发podman自动更新的webhook服务器

1个不稳定版本

0.1.0 2023年2月3日

#1013 in HTTP服务器

MIT/Apache

13KB
163

podman-autoupdate-hook

这是一个方便的小型服务器,用于运行带自动更新的podman容器。它允许您设置webhook,当有新镜像可用时通知您的服务器,然后自动更新容器以使用新镜像。

安装

您可以使用cargo非常简单地安装它。您可以按以下方式安装它

cargo install podman-autoupdate-hook

设置

目前有两个可选标志,端口号和令牌。服务器将在所有接口上监听。

podman-autoupdate-hook --port 8080 --token my_secret
http localhost:8080 'Authorization: Bearer my_secret'

收到此请求后,podman将尝试拉取带有标签 io.containers.autoupdate 的所有容器的最新版本。如果有新版本可用,它将被拉取,容器将被重启,如果新版本启动失败,则会自动回滚。

这些容器预期将使用systemd和适当的单元文件运行。有关更多信息,请参阅此处: https://docs.podman.org.cn/en/latest/markdown/podman-auto-update.1.html#description

用法

Github动作是设置webhook的好方法。您可以使用以下操作来设置到您的服务器的webhook

name: release
on: push
jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        #
        # build the container and push to registry
        #
      - run: |
          curl myserver.com:8080/hook -H 'Authorization: Bearer my_secret'

依赖关系

~10–23MB
~311K SLoC