v0.1.0
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE1MTdYA1m9lqO/FEeGPNoXAAiv/MFAlpKrOEACgkQGPNoXAAi
v/PhEhAA2IpXTQ9A2LePO86yu1cq1swd26nhTmYhBGCvORN1fdt2Xkc+jbWQ4qZ3
oAiKjvGwui2gRscBRUyMchODaEJcO3IIVfkQU+yET8FKdK0QU6nrueX1rhNPWSeH
LdDMJVJXZN1rkSQWepUyB8s2czX0bRphV9MpGGG15OlTFfnxg1bjfqGuUEjxe1j3
bQbgBzT3NkmZlUwWr+gqLbxSup8d42GdmMLAZ1zpq5NvxBNuJTqyZxsnkwjt8lDZ
/l1dhS0AX3VU22IcZyd1TqZTPd3OIE1+PYK0WtovboX14NNiYktZ+358ap9dJKpf
H0FkoYzMD20Ia5qfGtSJ8HyVJJ+sNiSt/HK0CvmBZWW+mECm0p+oDxY9YEkexhK0
cUSi+eyQACC9jAZuFvBz+r5NXpZTKt8+zJhpPWWx0RhUr+DL8RSVFbH3+n7j28d1
p1pgPV1tFaxSCvD75NJuPn7BfuOzfPB9DHiPpHRaBL+sqsJAvp5e6u62jqq5sj5S
PE0es+tguPpSIXxXNWYzldD+VUvj/Rrg8rGQQTVZzrrJ0tRClOw9LjEFdmjwgST3
qDnYz3HoFuj9Nc8qeywpqZ7cqYldO6VwHud0UMtGhdBn40RmZuBksyTDOplZGG9p
ealOcW8lTrurEVTyu0SY8W9RQZJqSnPCZp1J/v/AxhOjHqVzk/k=
=w4nr
-----END PGP SIGNATURE-----
Bump version to v0.1.0

Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2 files changed
tree: 8ac789c650b242048dfa8c376018837288a07387
  1. .gitignore
  2. .travis.yml
  3. Dockerfile
  4. LICENSE
  5. Makefile
  6. README.md
  7. VERSION
  8. autocomplete/
  9. gpg/
  10. main.go
  11. store.go
  12. vendor/
  13. version/
README.md

pony

Travis CI

Local file-based password, API key, secret, recovery code store backed by GPG.

Installation

Binaries

Via Go

$ go get github.com/jessfraz/pony

Usage

$ pony -h
NAME:
   pony - Local File-Based Password, API Key, Secret, Recovery Code Store Backed By GPG

USAGE:
   pony [global options] command [command options] [arguments...]

VERSION:
   version v0.1.0, build 33bfbcc

AUTHOR(S):
   @jessfraz <no-reply@butts.com>

COMMANDS:
   add, save    Add a new secret
   delete, rm   Delete a secret
   get          Get the value of a secret
   list, ls     List all secrets
   update       Update a secret
   help, h      Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug, -d                  run in debug mode
   --file, -f "~/.pony"         file to use for saving encrypted secrets
   --gpgpath "~/.gnupg/"        filepath used for gpg keys
   --keyid                      optionally set specific gpg keyid/fingerprint to use for encryption & decryption [$PONY_KEYID]
   --help, -h                   show help
   --generate-bash-completion
   --version, -v                print the version

Best Practices

HISTIGNORE

You should obviously add pony to your HISTIGNORE for example:

export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help:pony:pony *";

Namespacing Keys

You should namespace the keys for your secrets like the following:

$ pony add com.twitter.frazelledazzell.token KJDHJKFHDSBJDF
# GPG Passphrase for key "Jess Frazelle <butts@systemd.lol>":

$ pony add com.github.jessfraz.token LKJHSDLFKJDHF
# GPG Passphrase for key "Jess Frazelle <butts@systemd.lol>":

# if a key ends with `.recovery`
# we assume it is a list of comma seperated
# strings that are recovery codes
$ pony add com.github.devnull@butts.com.recovery we0wk4,osdknew,4fd9kw,03jfn23,sduj39s
# GPG Passphrase for key "Jess Frazelle <butts@systemd.lol>":

$ pony ls
# GPG Passphrase for key "Jess Frazelle <butts@systemd.lol>":

KEY                                     VALUE
com.aws.amazon.prod.key                 KSUIIUEJDMSDBSDJFOFR
com.aws.amazon.prod.secret              skljdUYGjsndhfjjiosjdfgr/HKKSU
com.github.botaccount.recovery          we0wk4,osdknew,4fd9kw,03jfn23,sduj39s
com.github.jessfraz.token               LKJHSDLFKJDHF
com.twitter.frazelledazzell.token       KJDHJKFHDSBJDF

# you can also filter by a regular expression
$ pony ls --filter com.github*
# GPG Passphrase for key "Jess Frazelle <butts@systemd.lol>":

KEY                                     VALUE
com.github.botaccount.recovery          we0wk4,osdknew,4fd9kw,03jfn23,sduj39s
com.github.jessfraz.token               LKJHSDLFKJDHF