aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2010-10-17 23:21:33 -0200
committerSilvio Rhatto <rhatto@riseup.net>2010-10-17 23:21:33 -0200
commitb44f5147ebb4d06b9a2a3a0f85ff5b53a529ac98 (patch)
tree9ef1bdd5a1d2c9c9adaa1da06e44f53a8187e656
parent3346311096bee29b81190ceb377ef5648aee1380 (diff)
downloadhydra-b44f5147ebb4d06b9a2a3a0f85ff5b53a529ac98.tar.gz
hydra-b44f5147ebb4d06b9a2a3a0f85ff5b53a529ac98.tar.bz2
Initial code for 'hydra register'
-rw-r--r--README5
-rwxr-xr-xhydra2
-rw-r--r--lib/hydra/functions6
-rwxr-xr-xshare/hydra/register22
-rwxr-xr-xshare/hydractl/init6
5 files changed, 36 insertions, 5 deletions
diff --git a/README b/README
index 74b39b8..7b2858b 100644
--- a/README
+++ b/README
@@ -1,2 +1,7 @@
Hydra Process Command Tool
==========================
+
+This suite is made of two commands:
+
+ - hydractl: issues commands in the current host.
+ - hydra: issues commands on multiple hosts.
diff --git a/hydra b/hydra
index a747830..fcb3e62 100755
--- a/hydra
+++ b/hydra
@@ -35,7 +35,7 @@ function hydra_load {
base="`dirname $0`"
fi
- # Deal with relative or absolute link
+ # Deal with relative or absolute links
if [ "`basename $dest`" == "$dest" ]; then
export APP_BASE="$base"
else
diff --git a/lib/hydra/functions b/lib/hydra/functions
index ad5861e..0324bbb 100644
--- a/lib/hydra/functions
+++ b/lib/hydra/functions
@@ -3,8 +3,10 @@
# Common functions.
#
-# Setup environment
-hydra_set_env $*
+# Source required functions
source $APP_BASE/lib/hydra/git
source $APP_BASE/lib/hydra/misc
source $APP_BASE/lib/hydra/tmpfile
+
+# Setup environment
+hydra_set_env $*
diff --git a/share/hydra/register b/share/hydra/register
index 5364f58..bf36540 100755
--- a/share/hydra/register
+++ b/share/hydra/register
@@ -1,3 +1,23 @@
#!/bin/bash
+#
# Register an existing hydra
-# TODO
+#
+
+CONFIG="$HOME/.hydra/config"
+HYDRA="$1"
+BASEDIR="$2"
+PUPPET="$(dirname `find $BASEDIR -name puppet.conf`)"
+
+mkdir -p `dirname $CONFIG`
+
+if grep -q -e "^$HYDRA=" $CONFIG; then
+ echo "Hydra $HYDRA already defined"
+ exit 1
+fi
+
+# Reparse basedir to force absolute folder
+BASEDIR="`cd $BASEDIR && pwd`"
+
+# Add entry
+chmod 700 $BASEDIR
+echo "$HYDRA=\"$BASEDIR\"" >> $CONFIG
diff --git a/share/hydractl/init b/share/hydractl/init
index 6c8264a..06fd754 100755
--- a/share/hydractl/init
+++ b/share/hydractl/init
@@ -1,4 +1,7 @@
#!/bin/bash
+#
+# Bootstrap a new hydra using the current host as a starting point.
+#
hydractl backports
hydractl install_puppet
@@ -6,7 +9,8 @@ hydractl install_puppet
mkdir -p /etc/puppet/modules
git clone git://git.sarava.org/puppet-bootstrap /etc/puppet/modules/bootstrap
-# TODO: edit /etc/puppet/modules/bootstrap/manifests/site.pp to suit your needs.
+echo "Editing /etc/puppet/modules/bootstrap/manifests/site.pp to suit your needs..."
+$EDITOR /etc/puppet/modules/bootstrap/manifests/site.pp
puppetd --no-daemonize --debug --verbose --onetime /etc/puppet/modules/bootstrap/manifests/init.pp
puppetd --no-daemonize --debug --verbose