Biblioteca de clientes PHP para o serviço Vault Hashicorp. Este cliente segue os dados de solicitação e resposta iguais à documentação do cliente Hashicorp Vault.
Sinta -se à vontade para abrir solicitações de tração para adicionar melhorias ou funcionalidade ausente.
composer require mittwald/vault-php
// setting up independent http client
$ httpClient = new Client ();
// setting up vault auth provider
$ auth = new Token ( ' foo ' );
// creating the vault request client
$ client = new VaultClient (
$ httpClient ,
$ auth ,
' http://127.0.0.1:8200 '
);
// selecting the desired secret engine
// e.g. Transit Secret Engine
$ api = new Transit ( $ client );
// calling specific endpoint
$ response = $ api -> listKeys ();
//reading results
var_dump ( $ response -> getKeys ());
//...
//...
//Profit... public function __construct(
HttpClient $ httpClient ,
AuthenticationProviderInterface $ authProvider ,
string $ apiHost
) HttpClient leva todos os adaptadores de cliente HTTP compatíveis com PSR-18 como "php-http/curl-client": "^1.7"
Provedor de autenticação AuthenticationProviderInterface do /authentication/provider/*
$apiHost hashicorp coult Rest endpoint URL
O uso de solicitações em massa também requer iterar através da resposta e chamando hasErrors dentro dos MetaData de cada item a granel para garantir que ele fosse processado com sucesso.
Os métodos de biblioteca de chamadas lançarão exceções, indicando onde os dados inválidos foram fornecidos ou os erros HTTP ocorreram ou erros de terminal genérico do Vault são encontrados.
VaultException
Exceção genérica de raiz de onde toda exceção nesta biblioteca se estende.
VaultHttpException
A exceção será lançada quando algo dentro do manuseio HTTP causará um erro.
VaultAuthenticationException
Será jogado quando a autenticação do terminal da API falhar.
VaultResponseException
Será lançado nos erros de código de status 5xx.
InvalidRouteException
Chamar um ponto de extremidade da API Vault inválido/não existente/desativado lançará essa exceção.
InvalidDataException
A exceção indica uma validação de carga útil do servidor com falha.
KeyNameNotFoundException
Será jogado ao tentar solicitar um endpoint da API onde o nome -chave - que é indicado no URL - não existirá.