- 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
--------
# <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`"
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
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