aboutsummaryrefslogtreecommitdiff
path: root/tomb-create
diff options
context:
space:
mode:
Diffstat (limited to 'tomb-create')
-rwxr-xr-xtomb-create47
1 files changed, 47 insertions, 0 deletions
diff --git a/tomb-create b/tomb-create
new file mode 100755
index 0000000..aa211c2
--- /dev/null
+++ b/tomb-create
@@ -0,0 +1,47 @@
+#!/usr/bin/env bash
+#
+# Create a Tomb.
+#
+
+# Parameters
+TOMBS="$HOME/data/tombs"
+KEYS="$HOME/.tombs"
+BASENAME="`basename $0`"
+TOMB="$1"
+SIZE="$2"
+
+# Check
+if [ ! -d "$TOMBS" ]; then
+ echo "error: no cemetery available at $TOMBS"
+ exit 1
+elif [ -z "$TOMB" ]; then
+ echo "usage: $BASENAME <tomb>"
+ exit 1
+elif [ -e "$TOMBS/$TOMB.tomb" ]; then
+ echo "tomb already exists: $TOMBS/$TOMB.tomb"
+ exit 1
+elif [ ! -e "$KEYS/$TOMB.tomb.key" ]; then
+ echo "missing keyfile $KEYS/$TOMB.tomb.key"
+ exit 1
+fi
+
+# Set
+if [ -z "$SIZE" ]; then
+ SIZE="16"
+fi
+
+# Create password
+keyringer default pwgen tombs/$TOMB.tomb.key.passwd
+
+# Dispatch
+tomb dig $TOMBS/$TOMB.tomb -s $SIZE
+tomb forge $KEYS/$TOMB.tomb.key
+tomb lock $TOMBS/$TOMB.tomb -k $KEYS/$TOMB.tomb.key
+
+# Add key into keyringer
+keyringer default encrypt tombs/$TOMB.tomb.key $KEYS/$TOMB.tomb.key
+
+# Annex
+#if [ -d "$TOMBS/.git/annex" ] && [ -h "$TOMBS/$TOMB.tomb" ]; then
+# ( cd $TOMBS && git annex unlock $TOMB.tomb )
+#fi