orrison / cumulus
从Laravel Vapor导入DNS记录到Cloudflare
Requires
- php: ^7.2|^8.0
- ext-json: *
- cloudflare/sdk: ^1.3
- laravel/vapor-cli: ^1.34
README
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