#证书 #cycle #tls-证书 #cert #generated #dns #up

app cycle-certs

一个机器人,用于获取并保持通过 Cycle 的 DNS 服务生成的 TLS 证书的最新状态

1 个稳定版本

1.0.0 2023 年 1 月 4 日

#14#cert

MIT 许可证

20KB
379

Cycle Cert Bot

workflow

https://cycle.io

一个机器人,用于获取并保持通过 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.iotest.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