ariaieboy/caprover-sdk

用于 PHP 和 Laravel 的 CapRover SDK

1.1.1 2023-10-19 13:37 UTC

This package is auto-updated.

Last update: 2024-09-19 15:25:37 UTC


README

Latest Version on Packagist Total Downloads

Caprover 是一个 "免费且开源的 PaaS"。

您可以使用此包在您的 PHP 项目中与 Caprover API 交互。

⚠️ 在使用此包之前请阅读本节

根据此 部分,Caprover 的 API 需要文档化。

目前尚无官方文档说明 API 命令,因为这些命令可能会随时更改。

上面的句子是 Caprover 团队在 Caprover CLI 的 API 部分放入的准确句子。

因此,我们无法保证此 SDK 可以与所有版本的 Caprover 一起使用。

我们将使用最新的 Caprover 版本测试 Caprover-Sdk 的每个版本,并且我们只保证此包与最新版本兼容。

最新版本与 Caprover 的 v1.10.1 版本进行了测试。

安装

您可以通过 Composer 安装此包

composer require ariaieboy/caprover-sdk

Laravel 中的使用

发布配置文件并设置您的凭证

php artisan vendor:publish --tag="caprover-config"

这是发布配置文件的内容

return [
    // Your Caprover main domain that point to the admin area
    'server'=>env('CAPROVER_SERVER'),
    // The password of your Caprover admin panel
    'password'=>env('CAPROVER_PASSWORD'),
    // Guzzle timeout in seconds
    'timeout'=>env('CAPROVER_TIMEOUT',60)
];

您可以使用 .env 文件代替

#/.env file
CAPROVER_SERVER=YOUR_CAPROVER_MAIN_DOMAIN
CAPROVER_PASSWORD=YOUR_CAPROVER_PASSWORD
CAPROVER_TIMEOUT=60 #its the guzzle timeout in seconds
\Ariaieboy\CaproverLaravel\Facades\Caprover::method($args);

在 PHP 应用中使用

$caprover = new \Ariaieboy\Caprover\Caprover('caprover address','caprover password','timeout (default:60)')

$caprover->method($args);

可用方法

$caprover = new \Ariaieboy\Caprover\Caprover('server','password');

$caprover->getCaptainInfo();

/**
* You can retrieve the auth token for the API calls
 * but it's not necessary to call other methods
 * The SDK will handle getting API Auth Token for you.
 */
$caprover->getAuthToken();

//Attach a new domain to an app
$caprover->attachNewCustomDomainToApp(appName: string,customDomain: string);

//Enable SSL for a custom domain on an app
$caprover->enableSslForCustomDomain(appName: string,customDomain: string);

//Remove a Custom domain from an app
$caprover->removeCustomDomain(appName: string,customDomain: string);

//Force Ssl on captain root domain
$caprover->forceSsl(isEnabled: bool);

//Change Captain root domain
$caprover->updateRootDomain(rootDomain: string);

//Enable root domain SSL
$caprover->enableRootSsl(emailAddress: string);

//Get All Apps
$caprover->getAllApps();

测试

我们使用 Saloon 作为 SDK 的基础,并使用 PestPHP 进行测试。要运行可用测试,您可以使用 PestPHP CLI 运行测试

./vendor/bin/pest

我们使用 Saloon 的 Recording Responses,因此,如果您运行可用测试,您不需要为测试提供任何 Caprover 服务器。

您可以通过在测试文件夹中创建一个 .env 文件在特定的 Caprover 服务器上运行测试。

我们有一个名为 .env.example 的示例 .env 文件,您可以使用它来创建您的 .env 文件。

对于测试在应用上执行操作的 API,您必须使用 CAPROVER_TEST_APP 环境变量提供您的 Caprover 服务器上的测试应用名称。

并且对于测试更改应用自定义域的 API,您必须使用 CAPROVER_TEST_DOMAIN 环境变量提供指向您的 Caprover 服务器的主机名。

更新日志

请参阅 更新日志 了解最近的变化。

贡献

请参阅 贡献指南 获取详细信息。

安全漏洞

请查阅我们关于如何报告安全漏洞的 安全策略

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件