ariaieboy/caprover-sdk
用于 PHP 和 Laravel 的 CapRover SDK
Requires
- php: ~8.1.0|~8.2.0|~8.3
- illuminate/contracts: ^10.0
- sammyjo20/saloon: ^2.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- orchestra/testbench: ^8.5
- pestphp/pest: ^2
- vlucas/phpdotenv: ^5.5
README
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)。有关更多信息,请参阅 许可证文件。