
轻量级Hashicorp Vault PKI客户端,专为基础设施自动化构建。可自动请求和续期通过PKI后端在Vault中生成的证书。
默认情况下,Vaultbot仅续期在指定时间段内即将到期的证书。因此,Vaultbot非常适合以固定间隔运行(如crontab)。该工具的设计也受到了知名的https://github.com/certbot/certbot%EF%BC%88%E7%94%A8%E4%BA%8Eletsencrypt%EF%BC%89%E7%9A%84%E5%90%AF%E5%8F%91%E3%80%82
${MAJOR}${MAJOR}.${MINOR}${MAJOR}.${MINOR}.${PATCH}请求和续期证书非常简单。以下是自解释示例:
sh./vaultbot --vault_addr=http://localhost:1234 --vault_token=myroot --pki_mount=pki --pki_role_name=example-dot-com --pki_common_name=mydomain.com --pki_ttl=24h --pki_renew_time=4h --pki_alt_names=otherdomain.com,testing.com --pki_ip_sans=127.0.0.1
也可通过运行./vaultbot --help查看更多使用信息。
除了https://hub.docker.com/r/msvechla/vaultbot/%E5%A4%96%EF%BC%8C%E8%BF%98%E6%8F%90%E4%BE%9B%E6%89%80%E6%9C%89%E4%B8%BB%E8%A6%81%E5%B9%B3%E5%8F%B0%E7%9A%84%E8%87%AA%E5%8A%A8%E5%8C%96%E6%9E%84%E5%BB%BA%E3%80%82%E5%8F%AF%E5%9C%A8%E6%A0%87%E7%AD%BE%E9%83%A8%E5%88%86%E6%89%BE%E5%88%B0%E6%89%80%E6%9C%89%E7%89%88%E6%9C%AC%E3%80%82%E7%82%B9%E5%87%BB%22%E4%B8%8B%E8%BD%BD%22%E5%B9%B6%E9%80%89%E6%8B%A9%22%E5%88%B6%E5%93%81%22%E5%8D%B3%E5%8F%AF%E8%8E%B7%E5%8F%96%E6%89%80%E9%9C%80%E7%89%88%E6%9C%AC%E3%80%82%E4%B9%9F%E5%8F%AF%E4%BB%8Emaster%E5%88%86%E6%94%AF%E8%87%AA%E8%A1%8C%E6%9E%84%E5%BB%BA%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E3%80%82
可通过指定命令行选项或对应的环境变量配置Vaultbot。
用法: vaultbot [选项] 应用选项: -v, --verbose 显示详细调试信息 Vault选项: --vault_addr= Vault服务器地址(URL和端口形式)(默认: http://127.0.0.1:8200) [$VAULT_ADDR] --vault_cacert= 用于验证Vault服务器SSL证书的PEM编码CA证书文件路径。 [$VAULT_CACERT] --vault_capath= 包含用于验证Vault服务器SSL证书的PEM编码CA证书文件的目录路径。若指定了VAULT_CACERT,则其优先级更高。 [$VAULT_CAPATH] --vault_client_cert= 用于TLS认证Vault服务器的PEM编码客户端证书路径。 [$VAULT_CLIENT_CERT] --vault_client_key= 与客户端证书匹配的未加密PEM编码私钥路径。 [$VAULT_CLIENT_KEY] --vault_client_timeout= Vault客户端超时时间。 [$VAULT_CLIENT_TIMEOUT] --vault_skip_verify 若设置,不验证Vault提供的证书。除非测试环境,否则不建议设置。 [$VAULT_SKIP_VERIFY] --vault_tls_server_name= 若设置,TLS连接时使用指定名称作为SNI主机。 [$VAULT_TLS_SERVER_NAME] --vault_max_retries= 遇到5xx错误时的最大重试次数。 [$VAULT_MAX_RETRIES] --vault_token= Vault认证令牌。 [$VAULT_TOKEN] --vault_renew_token 若设置,Vaultbot会尝试自动续期当前令牌 [$RENEW_TOKEN] PKI选项: --pki_mount= 指定PKI后端挂载路径 (默认: pki) [$PKI_MOUNT] --pki_role_name= 指定用于创建证书的角色名称 [$PKI_ROLE_NAME] --pki_common_name= 指定请求证书的通用名称(CN) [$PKI_ROLE_NAME] --pki_alt_names= 指定请求的DNS主题备用名称,以逗号分隔列表形式 [$PKI_ALT_NAMES] --pki_ip_sans= 指定请求的IP主题备用名称,以逗号分隔列表形式 [$PKI_IP_SANS] --pki_ttl= 指定请求的证书有效期 [$PKI_TTL] --pki_exclude_cn_from_sans 若设置,通用名称(CN)将不包含在DNS或Email主题备用名称中(如适用) [$EXCLUDE_CN_FROM_SANS] --pki_renew_percent= 触发续期的证书生命周期百分比(>0.00,<1.00)(默认: 0.75) [$PKI_RENEW_TIME] --pki_renew_time= 证书到期前触发续期的固定时间(如12h、1m)。设置后优先级高于renew_percent。 [$PKI_RENEW_TIME] --pki_force_renew 若设置,将无条件续期证书,不检查过期时间 [$PKI_FORCE_RENEW] --pki_cert_path= 请求/更新的证书路径 (默认: cert.pem) [$PKI_CERT_PATH] --pki_cachain_path= 请求/更新的CA链路径 (默认: chain.pem) [$PKI_CACHAIN_PATH] --pki_privkey_path= 请求/更新的私钥路径 (默认: key.pem) [$PKI_PRIVKEY_PATH] -y, --auto_confirm 若设置,自动确认所有用户提示 [$AUTO_CONFIRM] 帮助选项: -h, --help 显示此帮助信息
当运行Vaultbot且pki_cert_path指向现有证书时,仅当满足特定条件时才会续期并覆盖证书。
可通过指定pki_renew_percent(如0.75),在证书生命周期达到75%时触发续期。或通过pki_renew_time设置证书到期前的固定时间,当剩余时间小于该值时触发续期。
若需每次运行都续期证书,可指定pki_force_renew标志。
默认情况下,Vaultbot在覆盖pki_(cert/cachain/privkey/_path)位置的现有证书前,会执行一系列健全性检查。
若新请求的证书数据(通用名称、DNS备用名称、IP备用名称)与现有证书中的数据不一致,将提示用户确认。
在自动化环境中,可通过指定-y或--auto_confirm标志跳过这些检查。
请阅读CONTRIBUTING.md了解我们的行为准则和提交拉取请求的流程。
我们使用SemVer进行版本控制。可用版本请参见本仓库的标签或CHANGELOG.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
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务