Skip to content

PHP SDK

Install

Terminal window
composer require calvery/sdk

Quickstart

<?php
require 'vendor/autoload.php';
$client = new \Calvery\Client(getenv('CVSM_TOKEN'), 'acme-corp');
$dbUrl = $client->get('DATABASE_URL');
$all = $client->getAll();
$client->inject(overwrite: false); // populate $_ENV + putenv()

Config

$client = new \Calvery\Client(getenv('CVSM_TOKEN'), 'acme-corp', [
'base_url' => 'https://vault.internal', // self-host
'environment' => 'staging',
'cache_ttl' => 60,
'max_retries' => 5,
'timeout' => 30,
]);

Laravel integration

config/services.php
'calvery' => [
'token' => env('CVSM_TOKEN'),
'team' => env('CVSM_TEAM'),
],
// app/Providers/AppServiceProvider.php
public function register(): void
{
$this->app->singleton(\Calvery\Client::class, fn() =>
new \Calvery\Client(config('services.calvery.token'), config('services.calvery.team'))
);
}

Error types

use Calvery\Exception;
try {
$val = $client->get('DATABASE_URL');
} catch (Exception\NotFound $e) {
// secret tidak ada
} catch (Exception\AuthError $e) {
// token invalid
} catch (Exception\NetworkError $e) {
// konek gagal
} catch (Exception\ServerError $e) {
// HTTP 4xx/5xx — $e->statusCode
}