Skip to content

๐Ÿ” Securely share your environment files through password managers

License

Notifications You must be signed in to change notification settings

reegodev/confidante

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

npm GitHub Workflow Status codecov

๐Ÿ” Confidante

Securely share your environment files through password managers.

Confidante is a wrapper around your favourite passoword manager's CLI and uses secure notes to store your local environment files remotely.
If you work in a small team, you can use Confidante as a source of truth to easily share you local secrets with your colleagues.

Quick Start

npx confidante --help

or if you need to update to the latest version

npx confidante@latest --help

Usage

Push an environment file to your password manager

npx confidante push [FILEPATH] [ENTRYNAME] [-a <adapter>] [-v <vault>]

For all available arguments and flags type npx confidante push --help

Pull an environment file from your password manager

npx confidante pull [FILEPATH] [ENTRYNAME] [-a <adapter>] [-v <vault>]

For all available arguments and flags type npx confidante pull --help

Adapters

Adapters are used to create a standardized interface between Confidante and password managers.
Available adapters:

Adapters on the roadmap:

  • LastPass
  • Bitwarden
  • Dashlane

If you wish to use Confidante with a password manager not mentioned in the list, feel free to open an issue!

Configuration

You can use a configuration file to omit command arguments.
Create a file named .confidante.json at the root of your project and add the following content:

{
  "adapter": "<adapter name>",
  "vault": "<vault name>",
  "filePath": "<file path of your environment, eg: .env>",
  "entryName": "<name of the entry in the password manager>"
}

You can also automatically generate the file when running the pull command with the -s or --save flag.

Then your commands will be as simple as

npx confidante push
npx confidante pull

Examples

Push a .env file to the password manager

npx confidante push .env "Local .env" -a 1password -v "My project"

Push a Rails application.yml to the password manager

npx confidante push config/application.yml "Rails application.yml" -a 1password -v "My project"

License

MIT