Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/reegodev/confidante
🔐 Securely share your environment files through password managers
https://github.com/reegodev/confidante
dotenv environment-variables secret-management secret-sharing secrets secrets-management share
Last synced: 3 months ago
JSON representation
🔐 Securely share your environment files through password managers
- Host: GitHub
- URL: https://github.com/reegodev/confidante
- Owner: reegodev
- License: mit
- Created: 2022-04-29T13:04:55.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-17T11:59:53.000Z (over 1 year ago)
- Last Synced: 2024-10-11T00:18:19.201Z (3 months ago)
- Topics: dotenv, environment-variables, secret-management, secret-sharing, secrets, secrets-management, share
- Language: TypeScript
- Homepage:
- Size: 331 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![npm](https://img.shields.io/npm/v/confidante)](https://www.npmjs.com/package/confidante)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/reegodev/confidante/unit-tests.yml)](https://github.com/reegodev/confidante/actions)
[![codecov](https://codecov.io/gh/reegodev/confidante/branch/main/graph/badge.svg?token=7SPPSMLVT4)](https://codecov.io/gh/reegodev/confidante)# 🔐 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
```bash
npx confidante --help
```or if you need to update to the latest version
```bash
npx confidante@latest --help
```## Usage
### Push an environment file to your password manager
```bash
npx confidante push [FILEPATH] [ENTRYNAME] [-a ] [-v ]
```> For all available arguments and flags type `npx confidante push --help`
### Pull an environment file from your password manager
```bash
npx confidante pull [FILEPATH] [ENTRYNAME] [-a ] [-v ]
```> 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:- 1Password: To use this adapter, you need to install the [1Password CLI](https://1password.com/downloads/command-line/) and setup either [Manual login](https://developer.1password.com/docs/cli/sign-in-manually) or [Biometric unlock](https://developer.1password.com/docs/cli/about-biometric-unlock)
Adapters on the roadmap:
- LastPass
- Bitwarden
- DashlaneIf 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:```json
{
"adapter": "",
"vault": "",
"filePath": "",
"entryName": ""
}
```> 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
```bash
npx confidante push
npx confidante pull
```## Examples
Push a `.env` file to the password manager
```bash
npx confidante push .env "Local .env" -a 1password -v "My project"
````Push a Rails `application.yml` to the password manager
```bash
npx confidante push config/application.yml "Rails application.yml" -a 1password -v "My project"
```## License
[MIT](https://opensource.org/licenses/MIT)