PHP code example of cipi / sdk
1. Go to this page and download the library: Download cipi/sdk library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cipi / sdk example snippets
use Cipi\Sdk\Cipi;
$cipi = Cipi::connect(
baseUrl: 'https://api.example.com',
token: getenv('CIPI_TOKEN') ?: '',
);
$apps = $cipi->apps()->list();
$job = $cipi->deploys()->start('shop');
$result = $cipi->wait($job);
use Cipi\Sdk\Laravel\Facades\Cipi;
$apps = Cipi::apps()->list();
public function __construct(private Cipi\Sdk\Cipi $cipi) {}
$cipi = Cipi::connect($_ENV['CIPI_BASE_URL'], $_ENV['CIPI_TOKEN']);
$cipi->apps()->create([
'user' => 'shop',
'domain' => 'shop.example.com',
'repository' => '[email protected] :acme/shop.git',
'branch' => 'main',
'php' => '8.4',
'node_build' => 'npm ci && npm run build',
]);
$cipi->limits()->update('shop', ['fpm_max_children' => 10, 'disk_limit_gb' => 5]);
$cipi->env()->update('shop', ['APP_ENV' => 'production'], ['TELESCOPE_ENABLED']);
$cipi->databases()->create('shop', 'pgsql');
$cipi->redirects()->add('shop', '/blog/', 'https://blog.example.com', 301, true);
$cipi->ssl()->install('shop', dns: 'cloudflare', account: 'prod', wildcard: true);
$cipi->disk()->usage();
$cipi->logs()->get('shop', type: 'laravel', perPage: 100);
$job = $cipi->wait($cipi->apps()->create([/* ... */]));
$access = $job['data']['result']['repository_access'] ?? null;
if ($access !== null && $access['status'] !== 'ok') {
// 'nobranch': readable, but no such branch. 'denied': the key cannot read it.
// $access['error'] is the git line, $access['hint'] the CLI fix Cipi suggests,
// e.g. "cipi git github-token <token> && cipi git refresh shop".
}
use Cipi\Sdk\Exception\JobFailedException;
use Cipi\Sdk\Exception\AuthorizationException;
try {
$cipi->wait($cipi->deploys()->start('shop'));
} catch (JobFailedException $e) {
$job = $e->job;
} catch (AuthorizationException $e) {
// token is missing deploy-manage
}
$cipi = Cipi::connect($url, $token, [
'timeout' => 30,
'connect_timeout' => 10,
'max_retries' => 2,
'allow_http' => false,
]);
bash
php artisan vendor:publish --tag=cipi-config