From b44f5147ebb4d06b9a2a3a0f85ff5b53a529ac98 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 17 Oct 2010 23:21:33 -0200 Subject: Initial code for 'hydra register' --- README | 5 +++++ hydra | 2 +- lib/hydra/functions | 6 ++++-- share/hydra/register | 22 +++++++++++++++++++++- share/hydractl/init | 6 +++++- 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 -- cgit v1.2.3