Skip to main content

Ansible Vault Tools

A simple CLI tool and Python library to encrypt and decrypt strings and files using Ansible Vault, and to inspect decrypted host variables from an Ansible inventory.

Requirements

  • Python 3.11 or newer
  • ansible and ansible-vault executables available in PATH (provided by the ansible and ansible-vault packages)

Installation

Install with the optional Ansible dependencies included:

pip install "ansible-vault-tools[ansible-deps]"

Or, if you manage Ansible separately:

pip install ansible-vault-tools

Usage

CLI

ansible-vault-tools <command> [options]

encrypt — encrypt a string or file

# Encrypt a string (prompts for input if omitted)
ansible-vault-tools encrypt --string "my secret"
ansible-vault-tools encrypt -s

# Encrypt a file in place
ansible-vault-tools encrypt --file secrets.yml
ansible-vault-tools encrypt -f secrets.yml

decrypt — decrypt a variable or file

# Decrypt a specific variable for a host (prompts if omitted)
ansible-vault-tools decrypt --host webserver01 --var db_password
ansible-vault-tools decrypt -H webserver01 -v db_password

# Decrypt variables for all hosts
ansible-vault-tools decrypt --host all --var db_password

# Decrypt a vault-encrypted file (shows content, then asks to write it back)
ansible-vault-tools decrypt --file secrets.yml
ansible-vault-tools decrypt -f secrets.yml

allvars — print all variables for a host

# Print all resolved variables for a specific host
ansible-vault-tools allvars --host webserver01
ansible-vault-tools allvars -H webserver01

# Print hostvars for all hosts
ansible-vault-tools allvars --host all

Library

The individual functions can also be imported directly:

from ansible_vault_tools.main import encrypt_string, encrypt_file, decrypt_string, decrypt_file, allvars
Function Description
encrypt_string(password) Encrypt a string with ansible-vault encrypt_string
encrypt_file(filename) Encrypt a file in place with ansible-vault encrypt
decrypt_string(host, var) Decrypt a variable from Ansible inventory host(s)
decrypt_file(filename) Decrypt a vault-encrypted file
allvars(host) Return all variables for a host as JSON

License

The project is mainly licensed under Apache-2.0. It may also contain files under different licenses and copyright holders. The project is REUSE compliant so it's fully transparent.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansible_vault_tools-0.2.5.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ansible_vault_tools-0.2.5-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file ansible_vault_tools-0.2.5.tar.gz.

File metadata

  • Download URL: ansible_vault_tools-0.2.5.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ansible_vault_tools-0.2.5.tar.gz
Algorithm Hash digest
SHA256 b15beabac90697ce72e6c2a9e09914781265eb6f302a687343fd37ced0d0ca1d
MD5 44d716a119d946a4f4b0ae94d72eef4b
BLAKE2b-256 6e90795de831d50ba96a831eabaea770cd2e7a6717c48076c89de0b97b09757d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_vault_tools-0.2.5.tar.gz:

Publisher: publish.yaml on mxmehl/ansible-vault-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_vault_tools-0.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for ansible_vault_tools-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 40ab891a61f691be44cce7a8be6332a60c72806d8d101440b2aaf124f3c8deeb
MD5 b178b3ca916950e81cd96d9c34075333
BLAKE2b-256 15df572863170476003aec37924a50e29be4234352c17d930ef15d4e1751f774

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_vault_tools-0.2.5-py3-none-any.whl:

Publisher: publish.yaml on mxmehl/ansible-vault-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.6

2 files

This release

0.2.5 This release

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page