Skip to content

ansible-vault

Lightweight wrapper around ansible-vault for encrypting/decrypting strings and files, editing vaults and re-keying from PHP.

Requirements:

  • PHP 8.3 or higher
  • Ansible 2.10+ (ansible-vault available in the system)

Installation:

Terminal window
composer require titoshadow/ansible-vault

Basic usage:

use Titoshadow\AnsibleVault\AnsibleVault;
$vault = new AnsibleVault();
$cipher = $vault->encryptString('data', password: 'vault_pwd');
$plain = $vault->decryptString($cipher, password: 'vault_pwd');

Binary resolution: constructor argument > ANSIBLE_VAULT_BIN > ansible-vault in PATH. Errors with secrets are sanitized.