voxpupuli/container-puppetserver此仓库已弃用,即将归档。请改用 OpenVox Server 容器。
 \ --key $(puppet config print hostprivkey) \ --cacert $(puppet config print cacert) \ -X DELETE \ [***] config print server):8140/puppet-admin-api/v1/environment-cache?environment=production
另一个选项是将 PUPPETSERVER_ENVIRONMENT_TIMEOUT 环境变量设置为零 (0) 以禁用环境缓存。
新版本 schema 具有以下格式:
text<puppet.major>.<puppet.minor>.<puppet.patch>-v<container.major>.<container.minor>.<container.patch>
使用示例:
shelldocker run --name puppet --hostname puppet -v ./code:/etc/puppetlabs/code/ ghcr.io/voxpupuli/puppetserver:8.6.1-v1.6.0
| 名称 | 描述 |
|---|---|
| puppet.major | 包含的 Puppet 主版本号(7 或 8) |
| puppet.minor | 包含的 Puppet 次版本号 |
| puppet.patch | 包含的 Puppet 补丁版本号 |
| container.major | 基础容器的主版本号(Ubuntu 22.04)或不兼容变更 |
| container.minor | 具有向后兼容性的新功能或重构 |
| container.patch | 实现的次要变更或错误修复 |
支持以下环境变量:
| 名称 | 用法 / 默认值 |
|---|---|
| PUPPETSERVER_HOSTNAME | 服务器 SSL 证书上使用的 DNS 名称 - 在 puppet.conf 中设置 server默认未设置。 |
| CERTNAME | 服务器 SSL 证书上使用的 DNS 名称 - 在 puppet.conf 中设置 certname默认未设置。 |
| DNS_ALT_NAMES | 要添加到服务器 SSL 证书的其他 DNS 名称 注意 仅在首次运行生成证书时有效 |
| PUPPETSERVER_PORT | puppetserver 的端口8140 |
| AUTOSIGN | 是否在 puppetserver 实例上启用自动签名。有效值为 true、false 和 /path/to/autosign.conf。默认 true。 |
| CA_ENABLED | 此 puppetserver 实例是否运行 CA(证书颁发机构)true |
| CA_TTL | CA 过期日期(以秒为单位或带后缀 s、m、h、d、y)*** |
| CA_HOSTNAME | 运行 CA 的 puppetserver 的 DNS 主机名。除非 CA_ENABLED=false,否则无效puppet |
| CA_PORT | CA 的监听端口。除非 CA_ENABLED=false,否则无效8140 |
| CA_ALLOW_SUBJECT_ALT_NAMES | CA 是否应签署包含主题备用名称的 SSL 证书。除非 CA_ENABLED=true,否则无效。false |
| INTERMEDIATE_CA | 允许导入现有中间 CA。需要 INTERMEDIATE_CA_BUNDLE、INTERMEDIATE_CA_CHAIN 和 INTERMEDIATE_CA_KEY。参见 Puppet 中间 CA |
| INTERMEDIATE_CA_BUNDLE | 完整 CA bundle(签名 CA + 中间 CA)的文件路径和名称 |
| INTERMEDIATE_CRL_CHAIN | 完整 CA CRL 链的文件路径和名称 |
| INTERMEDIATE_CA_KEY | 私有 CA 密钥的文件路径和名称 |
| PUPPET_REPORTS | 在 puppet.conf 中设置 reportspuppetdb |
| PUPPET_STORECONFIGS | 在 puppet.conf 中设置 storeconfigstrue |
| PUPPET_STORECONFIGS_BACKEND | 在 puppet.conf 中设置 storeconfigs_backendpuppetdb |
| PUPPETSERVER_MAX_ACTIVE_INSTANCES | 允许的最大 JRuby 实例数1 |
| PUPPETSERVER_MAX_REQUESTS_PER_INSTANCE | JRuby 实例在其生命周期内将处理的最大 HTTP 请求数(禁用实例刷新)0 |
| PUPPETSERVER_JAVA_ARGS | 启动服务时直接传递给 JVM 的参数-Xms1024m -Xmx1024m |
| USE_PUPPETDB | 是否连接到 puppetdb 如果未设置,将 PUPPET_REPORTS 设置为 log,PUPPET_STORECONFIGS 设置为 falsetrue |
| PUPPETDB_SERVER_URLS | 在 /etc/puppetlabs/puppet/puppetdb.conf 中设置 server_urls[***] |
| PUPPETDB_HOSTNAME | puppetdb 的 DNS 名称 默认 puppetdb |
| PUPPETDB_SSL_PORT | puppetdb 的 TLS 端口 默认 8081 |
| PUPPETSERVER_GRAPHITE_EXPORTER_ENABLED | 激活 graphite 导出器。还需要 PUPPETSERVER_GRAPHITE_HOST 和 PUPPETSERVER_GRAPHITE_PORT 默认 false |
| PUPPETSERVER_GRAPHITE_HOST | 仅在 PUPPETSERVER_GRAPHITE_EXPORTER_ENABLED 设置为 true 时使用。puppet 应推送指标到的 graphite 服务器的 FQDN 或主机名。 默认 exporter |
| PUPPETSERVER_GRAPHITE_PORT | 仅在 PUPPETSERVER_GRAPHITE_EXPORTER_ENABLED 设置为 true 时使用。puppet 应推送指标到的 graphite 服务器的端口。 默认 9109 |
| PUPPETSERVER_ENVIRONMENT_TIMEOUT | 配置环境超时时间 默认 unlimited |
| PUPPETSERVER_ENABLE_ENV_CACHE_DEL_API | 通过证书启用 puppet 管理 API 端点,允许清除环境缓存 默认 true |
| ENVIRONMENTPATH | 设置环境路径 默认 /etc/puppetlabs/code/environments |
| HIERACONFIG | 在 puppet.conf 文件中设置 hiera_config 条目 默认 $confdir/hiera.yaml |
| CSR_ATTRIBUTES | 提供 csr_attributes.yaml 内容的 JSON 字符串。例如 CSR_ATTRIBUTES='{"custom_attributes": { "challengePassword": "foobar" }, "extension_requests": { "pp_project": "foo" } }'请注意,在 compose 文件中,必须将所有环境变量作为 Hash 提供,而不是 Array! environment: CSR_ATTRIBUTES: '{"extension_request": {...}}' |
如果需要执行额外的初始化操作,可添加名为 /docker-custom-entrypoint.d/ 的目录,并在其中放入 .sh 脚本。
您还可以在 /docker-custom-entrypoint.d/ 中创建子目录,用于需要在不同阶段运行的脚本。
/docker-custom-entrypoint.d/pre-default/ - 在本仓库的默认入口点脚本运行之前执行的脚本。/docker-custom-entrypoint.d/ - 在默认入口点脚本之后、puppetserver 服务启动之前执行的脚本。/docker-custom-entrypoint.d/post-startup/ - 在 puppetserver 服务启动之后执行的脚本。/docker-custom-entrypoint.d/sigterm-handler/ - 容器收到 SIGTERM 信号时执行的脚本。/docker-custom-entrypoint.d/post-execution/ - 在 puppetserver 服务停止之后执行的脚本。如果计划使用服务器内置 CA,重启容器可能导致服务器的密钥和证书更改,从而使代理和服务器停止相互信任。为避免这种情况,您可以持久化默认的 cadir /etc/puppetlabs/puppetserver/ca。例如:
shelldocker run -v $PWD/ca-ssl:/etc/puppetlabs/puppetserver/ca ghcr.io/voxpupuli/puppetserver:8.6.1-latest
或在 compose 中:
yamlservices: puppet: image: ghcr.io/voxpupuli/puppetserver:8.6.1-latest # ... volumes: - ./ca-ssl:/etc/puppetlabs/puppetserver/ca
参见此处
参见此处
该项目最初由 Puppet 创建。维护者希望 Vox Pupuli 接管该项目以进行未来的改进和维护。现有的拉取请求和问题已转移,欢迎在此处 fork 并继续贡献。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务