aboutsummaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
authorMitchell Riedstra <mitch@riedstra.dev>2021-10-24 22:46:16 -0400
committerMitchell Riedstra <mitch@riedstra.dev>2021-10-24 22:46:16 -0400
commit6366a4b1f1dea523b666944cb82fcd039fa81823 (patch)
tree540f64b3d1cb0381e4e2211cdb3cc1636114bc14 /readme.md
downloaddpw-6366a4b1f1dea523b666944cb82fcd039fa81823.tar.gz
dpw-6366a4b1f1dea523b666944cb82fcd039fa81823.tar.xz
initial
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md40
1 files changed, 40 insertions, 0 deletions
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..f0e3930
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,40 @@
+# dpw the dynamic password manager
+
+Inspired by [`pass`](https://www.passwordstore.org/) and designed to be
+compatible out of the box.
+
+The main point of this is to provide a somewhat familiar interface for
+pluggable backends. Secondary benefits that people may be interested in is the
+ISC license, so you can modify the `dpw` script without giving me your changes
+even if you use it in a commercial product. ( Though, it might be appreciated to
+get code back! )
+
+For instance, one could write a plugin that talks to Lastpass, Bitwarden
+Hasicorp's Vault, or similar.
+
+There are some mild changes in the interface from `pass`, a full list
+of commands and options are available with the `-h` command line flag.
+
+The environment variable `DPW_BACKEND` defaults to `dpw-gpg` which provides
+the `pass` compatible backend. Since it's just a call to another executable
+the backends can be written in any language.
+
+
+## Backends
+
+The `dpw-gpg` shell script should be short enough to read to give you an
+idea for implementing your own. That being said the interface is blindingly
+simple, accept the following four commands:
+
+ * list
+ * dump a list of the available keys, supporting arguments for sub keys
+ may be preferred by users but isn't necessary, `find` will still work
+ for them.
+ * insert `<key>`
+ * Read from stdin
+ * show `<key>`
+ * Dump to stdout
+ * rm `<key>`
+
+`dpw` will take care of all the additional commands by wrapping the four
+above as needed.