git-age/README.md

42 lines
1.7 KiB
Markdown

# git-age
This is a Go port of [git-agecrypt](https://github.com/vlaci/git-agecrypt) with some slight modifications.
Echoed from the original project:
> ## Why should I use this?
>
> Short answer: you probably shouldn't. Before considering this approach, take a look at [SOPS](https://github.com/mozilla/sops) and [Hashicorp Vault](https://www.vaultproject.io/) if they are better suited for the problem at hand. **They have a clear security advantage** over `git-age`.
>
> The one use-case where it makes sense to use `git-age` instead is when you want to keep some files secret on a (potentially public) git remote, but you need to have the plaintext in the local working tree because you cannot hook into the above tools for your workflow. **Being lazy is not an excuse to use this software.**
## Adding git-age to a new repository
1. Install `git-age` in your `PATH`
2. `git age init`
3. Add some identities
- `git age ident key.txt`
- `git age ident ssh`
4. Set up your config ([example](.git-age.yaml))
5. Add your secrets to `.gitattributes`
`secret.txt diff=git-age filter=git-age`
6. Use git like normal.
## Decrypting an existing repository
Similar to initial install, adding identities prior to `init` so that any encrypted files are decrypted during initialization.
1. Install `git-age` in your `PATH`
2. Clone the repository
3. Add some identities
- `git age ident key.txt`
- `git age ident ssh`
4. `git age init`
5. Use git like normal
## License
This software was written based off of [git-agecrypt](https://github.com/vlaci/git-agecrypt/tree/945b80556d8848f6e85a8cc0053f9020bdc8b359).
[MPL-2.0](LICENSE) ([Original](https://github.com/vlaci/git-agecrypt/blob/945b80556d8848f6e85a8cc0053f9020bdc8b359/LICENSE))