1 个稳定版本
1.0.0 | 2023 年 1 月 4 日 |
---|
#14 在 #cert
20KB
379 行
Cycle Cert Bot
一个机器人,用于获取并保持通过 Cycle 的 DNS 服务生成的 TLS 证书的最新状态。
安装
此二进制文件可以通过多种不同的方式进行安装
Cargo
如果您正在使用 cargo
cargoinstall cycle-certs
下载
转到发行版部分并下载适用于您的系统的二进制文件,然后将其复制到您的路径中的文件夹。如果您的系统未列出,请尝试使用以下方式编译:
Docker
以下命令将在后台运行此过程。删除 -d
参数以首先查看输出并验证它是否按预期工作。
docker run-dit--name cycle-certs-v$(pwd):/certs cycleplatform/cycle-certs
默认情况下,进程将在挂载卷中查找配置文件(容器内的 /certs/config.toml
)。您可以通过传递 --config=<FILENAME>
选项来提供自己的位置。
从源代码
这假设您已经设置了一个 Rust 工具链。
克隆此存储库并在根目录下运行以下命令
cargobuild --release
然后将其复制到您的路径中的某个位置。
Linux
mv./target/release/cycle-certs/usr/local/bin
快速开始
要从命令行直接运行,请运行
cycle-certs--domain=<YOUR DOMAIN> --apikey=<API 密钥> --hub=<HUB ID>
这将下载证书包并将其安装到当前工作目录中,名称为 <YOUR DOMAIN>.ca-bundle
。
注意 - 如果您的证书适用于多个域名,它们将用下划线分隔。所有点也都替换为下划线。因此,如果您的域名是例如 cycle.io,则包将保存到文件 cycle_io.ca-bundle
。如果您的域名是 cycle.io
和 test.com
,则包将保存到 cycle_io_test_com.ca-bundle
该过程将在后台休眠,直到证书到期前14天,届时它将尝试再次获取最新的证书。(Cycle在生成后65天后续订证书)。
如果机器人因任何原因无法获取证书,它将等待3小时后再次请求,无限循环。在后台运行此过程之前,请务必验证您的设置是否正确。
配置
虽然所有配置选项都可以通过命令行设置,但使用配置文件可能更可取。默认情况下,Cycle证书管理器从当前工作目录加载config.toml
。
选项
选项 | 必需 | 描述 |
---|---|---|
domain | true | 所需证书的主机名 |
apikey | true | 您的Cycle API密钥。更多信息请参阅https://docs.cycle.io/docs/hubs/API-access/api-key-generate |
hub | true | 所需证书所属的中心的ID |
refresh_days | false | 在证书到期前多少天刷新此证书。必须是正数。 |
certificate_path | false | 将获取的证书包写入的路径。如果没有选择,它将被写入当前目录。 |
filename | false | 覆盖证书的文件名。默认情况下,它将适用于证书的域的名称 |
cluster | false | 证书所在的集群。默认情况下,它是main.api.cycle.io集群 |
示例
config.toml
domain = "myapp.mysite.com"
refresh_days = 5
apikey = "<YOUR API KEY>"
依赖关系
~10–24MB
~368K SLoC