https://github.com/linkorb/vault
Vault: Securely store confidential information (passwords, ssl certificates, keys) in version control
https://github.com/linkorb/vault
Last synced: 6 months ago
JSON representation
Vault: Securely store confidential information (passwords, ssl certificates, keys) in version control
- Host: GitHub
- URL: https://github.com/linkorb/vault
- Owner: linkorb
- License: mit
- Created: 2016-05-07T12:10:23.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-05-14T14:29:13.000Z (about 10 years ago)
- Last Synced: 2025-07-24T01:26:46.227Z (11 months ago)
- Language: PHP
- Size: 6.84 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Vault

Securely store confidential information (passwords, ssl certificates, keys) in version control
## Installing Vault
Vault is a tiny CLI application that you can add to your projects by adding the following line to your `composer.json`:
"require": {
"linkorb/vault": "~1.0"
}
Run `composer update` to install the new project dependency
## Using Vault
Vault works with 2 directories:
* The `vault` directory (default `vault/`): this directory stores the confidential information in encrypted form
* The `secure` directory (default `secure/`): this directory contains your confidential files in unencrypted
form, so that your application can use it. This directory will not be committed to version control, and should be added to your `.gitignore` file.
To start, create both directories, and put a confidential file in your `secure/` directory.
Type the following command, to encrypt all files in your `secure/` directory, and store then in the `vault/` directory:
vendor/bin/vault encrypt
Vault will ask for a password that will be used for encryption.
You can now check which files are stored in the vault using:
vendor/bin/vault ls
To echo the contents of a single file from vault, run:
vendor/bin/vault cat test.txt
Add your `secure/` directory to `.gitignore`, and commit the files in the `vault/` directory.
To use the files on another computer, use `git pull` to get the new files in the `vault/` directory, and run the following command to decrypt them into the new local `secure/` directory:
vendor/bin/vault decrypt
Vault will ask for a password again, and extract the files one by one into the `secure/` directory, so they can be used.
If you make any changes to files in the `secure/` directory, make sure to run `vault encrypt` again to update the contents in `vault/` so they can be sent to your version control system.
## TODO:
* [ ] Make `vault/` and `secure/` directories configurable through a `Vaultfile`
* [ ] Allow configurations of used encryption methods
* [ ] Add a `diff` command, to check changes between vault and secure directories
## License
MIT. Please refer to the [license file](LICENSE.md) for details.
## Brought to you by the LinkORB Engineering team

Check out our other projects at [linkorb.com/engineering](http://www.linkorb.com/engineering).
Btw, we're hiring!