diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2010-11-21 17:07:50 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2010-11-21 17:07:50 -0200 |
commit | 627dcf039b289858b3d36958f526b857e04d048e (patch) | |
tree | e1445eb2d6535553a0e41e22f4dd868ddd55a5a7 | |
parent | 821902451c74670337065ce01ebd5821e1ac1e72 (diff) | |
download | hydra-627dcf039b289858b3d36958f526b857e04d048e.tar.gz hydra-627dcf039b289858b3d36958f526b857e04d048e.tar.bz2 |
Adding newkeys subcommand from keyringer
-rw-r--r-- | lib/hydra/misc | 4 | ||||
-rwxr-xr-x | share/hydra/newkeys | 33 |
2 files changed, 37 insertions, 0 deletions
diff --git a/lib/hydra/misc b/lib/hydra/misc index 77f717d..fd90e93 100644 --- a/lib/hydra/misc +++ b/lib/hydra/misc @@ -39,6 +39,10 @@ function hydra_check_preferences { echo "Puppet folder not found: $PUPPET." exit 1 fi + + if [ -z "$PUPPET_KEYS" ]; then + PUPPET_KEYS="$PUPPET/files/keys" + fi } # Load a parameter from config diff --git a/share/hydra/newkeys b/share/hydra/newkeys new file mode 100755 index 0000000..4970afb --- /dev/null +++ b/share/hydra/newkeys @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Create keys for new nodes. +# + +function hydra_newkeys { + # Generates ssh and gpg keys for new nodes + # GPG keys should be manually imported in the nodes + for host in `hydra $HYDRA nodes`; do + node="`echo $host | cut -d . -f 1`" + privkey="$PUPPET_KEYS/"$node"_id_dsa" + pubkey="$privkey.pub" + if [ ! -e "$privkey" ] || [ ! -e "$pubkey" ]; then + keyringer $HYDRA genpair ssh $node/ssh/id_dsa $host $privkey + keyringer $HYDRA genpair gpg $node/gpg/key $host + + # Add key into puppet git repository. + ( cd $PUPPET_KEYS && git add $privkey $pubkey ) + fi + done +} + +# Load. +source $APP_BASE/lib/hydra/functions || exit 1 +hydra_config_load + +# Check for keyringer. +if ! which keyringer &> /dev/null; then + echo "Error: please install keyringer." + exit 1 +fi + +hydra_newkeys |