From: Silvio Rhatto Date: Fri, 11 Apr 2014 19:28:41 +0000 (-0300) Subject: Adding ssh-config X-Git-Tag: 0.2.2~16 X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=0d507b1d0d3137fb3e13a8c46de9e319373c5849;p=hydra.git Adding ssh-config --- diff --git a/TODO.md b/TODO.md index 72674c8..bff16e3 100644 --- a/TODO.md +++ b/TODO.md @@ -7,6 +7,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. + - ssh-config: hydra integration. Hydractl -------- diff --git a/share/hydra/ssh-config b/share/hydra/ssh-config new file mode 100644 index 0000000..92945f8 --- /dev/null +++ b/share/hydra/ssh-config @@ -0,0 +1,35 @@ +#!/bin/bash +# Thanks to http://paste.debian.net/93242/ + +if [ $# -ne 1 ]; then + echo "Usage: ${0} nodes_dir" + exit 1 +fi + +NODESDIR=${1} + +if [ ! -d ${NODESDIR} ]; then + echo "Not a directory: ${NODESDIR}" + exit 1 +fi + +REGEXP1="\(nodo::vserver::instance\|context\)" +REGEXP2="s/[^\"]*\"//" +REGEXP3="s/\".*//" +REGEXP4="s/[^']*'//" +REGEXP5="s/'.*//" + +ishost=1 + +while read l; do + if [ ! -z "${ishost}" ]; then + host=${l} + unset ishost + else + echo Host ${host}.sarava.org + echo Port 22`printf "%02d" "${l}"` + echo + ishost=1 + fi +done < <(grep -R "${REGEXP1}" ${NODESDIR} | sed -e "${REGEXP2}" -e "${REGEXP3}" \ + -e "${REGEXP4}" -e "${REGEXP5}")