该容器旨在通过webhook触发r10k来部署Puppet代码。它包含webhook-go守护进程和r10k gem,以及所有预安装的必要依赖,确保部署过程无缝进行。
适用于需要通过版本控制系统(如Git)的webhook自动部署Puppet代码的环境,特别适合Puppet服务器的代码自动化部署流程。
容器默认入口点为r10k二进制文件。可通过共享卷与Puppet服务器共享代码目录,挂载至/etc/puppetlabs/code/environments。
Docker Compose示例
yamlservices: webhook: image: ghcr.io/voxpupuli/r10k-webhook:2.9.0 ports: - 4000:4000 environment: - PUPPET_CONTROL_REPO="https://git.example.org/puppet/control.git" - USER="puppet" - PASSWORD="puppet" # 如需使用HTTPS,启用TLS并取消以下行注释 #- TLS=true #- TLS_CERT="/etc/puppetlabs/puppet/ssl/certs/puppet.pem" #- TLS_KEY="/etc/puppetlabs/puppet/ssl/private_keys/puppet.pem" volumes: - ./code:/etc/puppetlabs/code # 如需使用HTTPS,启用上述TLS并挂载密钥/证书目录 #- openvoxserver-ssl:/etc/puppetlabs/puppet/ssl
该容器基于https://github.com/voxpupuli/container-r10k%E6%9E%84%E5%BB%BA%EF%BC%8C%E5%9B%A0%E6%AD%A4%E4%B9%9F%E9%80%82%E7%94%A8%E5%85%B6%E6%89%80%E6%9C%89%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E3%80%82
| 名称 | 描述 |
|---|---|
CERT_JSON | 无默认值。用于导入自定义证书的JSON哈希 |
CHAT_CHANNEL | 通知目标频道 |
CHAT_SERVICE | 聊天类型,如slack |
CHAT_TOKEN | 认证令牌 |
CHAT_URL | 聊天服务器URL |
CHAT_USER | 登录用户 |
CHAT | 启用聊天通知,默认为false |
DEFAULT_BRANCH | 设置默认部署分支,默认为production |
ENABLE_QUEUE | 启用请求排队后台处理,默认为false |
GENERATE_TYPES | 部署成功后生成数据类型,默认为true |
MAX_CONCURRENT_JOBS | 队列中可存储的最大作业数,默认为10 |
MAX_HISTORY_ITEMS | 历史记录中存储的最大队列项数,默认为50 |
PASSWORD | 必填。用户登录密码 |
PORT | 监听端口,默认为4000 |
TLS_CERT | 证书文件路径,仅在TLS=true时需要 |
TLS_KEY | 私钥文件路径,仅在TLS=true时需要 |
TLS | 启用HTTPS,默认为false |
USER | 触发webhook的登录用户名,默认为puppet |
如需在容器内添加自定义证书,可通过入口点脚本实现。例如,在需要自定义CA证书的环境中,可导出CERT_JSON环境变量,容器将在运行时导入证书。证书应为PEM格式的JSON哈希,建议压缩为单行。
可在Github/Gitlab的CI变量中添加此配置。
示例JSON:
json{"certificates":{"root_ca":"-----BEGIN CERTIFICATE-----\n...","signing_ca":"-----BEGIN CERTIFICATE-----\n..."}}
| 名称 | 描述 |
|---|---|
R10K_VERSION | 作为基础层的R10k容器版本 |
WEBHOOK_GO_VERSION | 要安装的webhook-go版本 |
版本格式如下:
text<webhook-go.major>.<webhook-go.minor>.<webhook-go.patch>-v<container.major>.<container.minor>.<container.patch> <webhook-go.major>.<webhook-go.minor>.<webhook-go.patch>-latest latest
示例用法:
shelldocker pull ghcr.io/voxpupuli/r10k-webhook:2.9.0-v1.0.1 docker pull ghcr.io/voxpupuli/r10k-webhook:2.9.0-latest docker pull ghcr.io/voxpupuli/r10k-webhook:latest
| 名称 | 描述 |
|---|---|
| webhook-go.major | 包含的webhook-go主版本 |
| webhook-go.minor | 包含的webhook-go次版本 |
| webhook-go.patch | 包含的webhook-go补丁版本 |
| container.major | 容器的不兼容破坏性变更版本 |
| container.minor | 容器的向后兼容新功能或重构版本 |
| container.patch | 容器的小变更或 bug 修复版本 |
详见 RELEASE.md
详见 CONTRIBUTING.md
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务