summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2014-04-08 15:58:05 -0300
committerSilvio Rhatto <rhatto@riseup.net>2014-04-08 15:58:05 -0300
commit51535d312d2ea270369589fdab51fa9e77cf30d5 (patch)
tree04e3e72a585559c2676f92224ec1dbd2bb2668dc
parentedef80258c360d215ecb2a625d6a1e78885e4bc3 (diff)
downloadhydra-51535d312d2ea270369589fdab51fa9e77cf30d5.tar.gz
hydra-51535d312d2ea270369589fdab51fa9e77cf30d5.tar.bz2
Adding all-ssh and all-pgp arguments to newkeys
-rw-r--r--TODO.md4
-rwxr-xr-xshare/hydra/newkeys18
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 @@
# <http://www.gnu.org/licenses/>.
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