From 51535d312d2ea270369589fdab51fa9e77cf30d5 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 8 Apr 2014 15:58:05 -0300 Subject: Adding all-ssh and all-pgp arguments to newkeys --- TODO.md | 4 +--- share/hydra/newkeys | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/TODO.md b/TODO.md index cce1abd..f67485c 100644 --- a/TODO.md +++ b/TODO.md @@ -6,9 +6,7 @@ Hydra - module-update: get latest commit from production branch, setup branch if need. - bootless: properly support `$subdevice` in parted or always use first partition (like `/dev/sdb1`). - - newkeys: - - split SSH/OpenPGP check: just generate OpenPGP key if absent. - - add 'all-ssh' and 'all-pgp' options to generate either all SSH or all OpenPGP keys. + - newkeys: split SSH/OpenPGP check: just generate OpenPGP key if absent. Hydractl -------- diff --git a/share/hydra/newkeys b/share/hydra/newkeys index 66ce846..35dce4f 100755 --- a/share/hydra/newkeys +++ b/share/hydra/newkeys @@ -17,7 +17,7 @@ # . function hydra_newkeys { - # Generates ssh and gpg keys for new nodes + # Generates ssh and gpg keys for new or existing nodes # GPG keys should be manually imported in the nodes for host in `hydra $HYDRA nodes`; do node="`echo $host | cut -d . -f 1`" @@ -25,6 +25,13 @@ function hydra_newkeys { pubkey="$privkey.pub" if [ "$1" == "all" ]; then hydra_genpairs + elif [ "$1" == "all-ssh" ]; then + hydra_genpairs all-ssh + elif [ "$1" == "all-pgp" ]; then + hydra_genpairs all-pgp + elif [ ! -z "$1" ]; then + hydra_genpairs + exit $? elif [ ! -e "$privkey" ] || [ ! -e "$pubkey" ]; then hydra_genpairs fi @@ -34,8 +41,13 @@ function hydra_newkeys { function hydra_genpairs { BASEDIR="/tmp" - keyringer $HYDRA genpair ssh $node/ssh/id_rsa $host $privkey - keyringer $HYDRA genpair gpg $node/gpg/key $host + if [ "$1" != "all-pgp" ]; then + keyringer $HYDRA genpair ssh $node/ssh/id_rsa $host $privkey + fi + + if [ "$1" != "all-ssh" ]; then + keyringer $HYDRA genpair gpg $node/gpg/key $host + fi hydra_set_tmpfile genpair echo "Importing keys for $host" > $TMPWORK -- cgit v1.2.3