orrison/cumulus

从Laravel Vapor导入DNS记录到Cloudflare

资助包维护!
Orrison

v1.1.0 2023-02-09 13:08 UTC

This package is auto-updated.

Last update: 2024-09-09 16:27:26 UTC


README

Total Downloads License

Cumulus是与Laravel Vapor CLI一起使用的包。它提供了一组命令,用于将Vapor自定义域名的DNS记录导入Cloudflare。

不再需要手动复制,这将花费太多时间且容易出错。Cumulus将为您创建任何缺失的DNS记录,并更新任何不正确或更改的记录。

请注意,为了使导入工作,域名必须是Laravel Vapor团队中的自定义域名,同时在您的Cloudflare账户中也是一个区域。此包将负责导入DNS记录,而不是添加域名。

您还需要在您的机器上安装并验证Laravel Vapor CLI

安装

composer global require orrison/cumulus --with-all-dependencies

用法

Cloudflare身份验证

为了使用Cumulus,您需要一个有效的Cloudflare API访问令牌。您可以通过遵循他们的文档中的说明来获取一个。

"编辑DNS区域"模板非常适合此目的。您只需将"区域资源"选项设置为"所有区域"或适合您用例的正确选项。

一旦您有了令牌,您就可以运行以下命令来输入您的令牌。然后它将被存储以供将来命令使用。

cumulus cloudflare:login

如果您出于任何原因想从本地存储中清除此令牌,则可以运行以下命令。

cumulus cloudflare:logout

或者,如果您希望从服务器环境加载API令牌,您可以通过声明环境变量CLOUDFLARE_API_TOKEN来实现。当定义了它时,它将始终优先于存储在您的用户配置文件中的Cumulus配置。

导入DNS记录

Cumulus直接通过Laravel Vapor执行一些命令。因此,您需要使用全局或项目安装的Vapor CLI登录。有关更多信息,请参阅Vapor文档

现在您有一个有效的Cloudflare API令牌,并且登录到可以访问您要尝试导入的域的Vapor团队,您就可以运行以下命令来导入您的域的DNS记录。

cumulus records:import [THE_DOMAIN_NAME]

这将导入Vapor指定的任何缺失的DNS记录到Cloudflare DNS区域。同时更新任何不正确或更改的记录。

如果您想在实际导入之前查看将要进行的更改,可以在命令末尾添加--dry-run

导入命令将尝试为每个添加/更新的记录"代理"。如果您不希望添加的记录代理,可以在命令末尾添加--no-proxy

关于DNS记录生成和子域的信息

Cumulus将在您分配自定义域的环境中工作。它只需导入提供的域的正确DNS记录。Laravel Vapor在将域分配给项目环境并成功部署时生成和存储DNS记录。

当您为一个项目环境使用子域名时,Laravel Vapor 会自动生成正确的 DNS 记录并将它们存储在根域名下。因此,为了导入子域名的正确 DNS 记录,您需要导入根域名的记录。

例如,如果您有一个子域名 sub.example.com,您将运行以下命令来导入 DNS 记录

cumulus records:import example.com