
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该容器旨在通过webhook触发r10k来部署Puppet代码。它包含webhook-go守护进程和r10k gem,以及所有预安装的必要依赖,确保部署过程无缝进行。
适用于需要通过版本控制系统(如Git)的webhook自动部署Puppet代码的环境,特别适合Puppet服务器的代码自动化部署流程。
容器默认入口点为r10k二进制文件。可通过共享卷与Puppet服务器共享代码目录,挂载至/etc/puppetlabs/code/environments。
Docker Compose示例
yamlservices: webhook: image: ***-ghcr.xuanyuan.run/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.xuanyuan.run/voxpupuli/r10k-webhook:2.9.0-v1.0.1 docker pull ***-ghcr.xuanyuan.run/voxpupuli/r10k-webhook:2.9.0-latest docker pull ***-ghcr.xuanyuan.run/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
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务