Skip to main content

Tool for a disaster recovery of Odoo's vault module

Project description

License: MIT PyPI - Python Version Code style: black

vault-recovery

This tool provides utilities for a disaster recovery for the Odoo vault module from database backups or formerly exported files. The backups need atleast the following tables for the recovery:

  • res_users
  • res_users_key
  • vault
  • vault_entry
  • vault_field
  • vault_file
  • vault_right

Installation

$ pip3 install vault-recovery

Security

Do not run the recover or decrypt mode on the server. This will compromise the security design of the vault module.

Usage

The tool supports different operation modes for specific purposes.

vault info [...] can be used to retrieve information from a postgres database about available vaults. It can be used to get UUIDs of users and vaults with some additional information. The UUIDs are used in other modes.

$ vault info -d odoo
User: admin [6cf47287-d791-44a0-b073-78659959ca3f]
  Fingerprint: 61:a7:70:73:75:06:61:ad:fc:0e:9a:3c:bd:99:a0:17:be:7f:35:5e:31:d0:80:e4:fd:cc:90:ac:be:5b:e8:82
  Vaults:
    Test Vault [cee24057-4318-46b8-b227-05ec687df64e]

vault export [...] can be used to export vaults from a database into exported files. These files include everything from the database which is needed to recover the database including the encrypted master key, private key, and entries.

$ vault export -d odoo --user 6cf47287-d791-44a0-b073-78659959ca3f > vaults.json

vault recover [...] can be used to recover the secrets from a vault. It can recover from a database or from a previously exported exported file as the following example shows. The data is put inside of the output directory as raw, plain, and encrypted files.

$ vault recover -d odoo -i vaults.json --password --output ~/vaults

vault encrypt [...] can be used to protect raw files with password or passfiles.

$ vault encrypt -i raw.json --password > encrypted.json

vault decrypt [...] can be used to decrypt encrypted files.

$ vault decrypt -i encrypted.json --password -o ~/vaults > raw.json

Files types

The tool outputs various JSON files for different purposes to store the data and to allow splitting the process into steps. All files are structured as a dictionary with a type key. The following types exists:

  • exported: contains all information needed to recover vaults. They can be used to recover the data on more secure environments.

  • plain: contains the most information of a recovered vault. These files are unencrypted.

  • raw: contains unencrypted entries ready to be imported into a running vault

  • encrypted: contains encrypted entries ready to be imported into a running vault

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

vault_recovery-0.3-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file vault_recovery-0.3-py3-none-any.whl.

File metadata

  • Download URL: vault_recovery-0.3-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for vault_recovery-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 421b97af47c095ba5f4eaa8f23216030c8543c06ff1d0f3bcf1a5c345e072fe0
MD5 26c1596905c68746e0f204694d716b49
BLAKE2b-256 dbe9b9ca7aba007708f7f192410810aad9c77f54bb1d8ec2c6a75319d975a49e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page