From 173bd5c76143bf1e298106314f1577a94773ed9d Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Fri, 28 Feb 2014 13:11:16 -0300 Subject: Setting/syncing config and doc repositories --- README | 8 +++++--- lib/hydra/usage | 4 ++++ share/hydra/init | 36 ++++++++++++++++++++---------------- share/hydra/sync | 4 ++-- 4 files changed, 31 insertions(+), 21 deletions(-) diff --git a/README b/README index ab107b2..b61abc4 100644 --- a/README +++ b/README @@ -1,5 +1,8 @@ -Hydra Process Command Tool -========================== +Hydra Suite - Cloud Command and Control +======================================= + +The Hydra Suite is a complete set of tools for orchestration and management +of computers. This suite is made of three commands: @@ -14,7 +17,6 @@ Hydra: - Init: create config and doc repositories. - Init: generate puppet repository using "hydractl bootstrap repository" - - Sync: clone hydra configuration repository that should be created by the new init action. - Sync: split between public and private repositories. - Sync: Git clone URL recommendation which support for both git-annex and non-standard port. - Uniform syntax for specifying nodes (either by hostname or fqdn) on deploy and import-key. diff --git a/lib/hydra/usage b/lib/hydra/usage index 32acbb0..bb34eb8 100644 --- a/lib/hydra/usage +++ b/lib/hydra/usage @@ -10,8 +10,12 @@ function hydra_action_usage { echo "Usage: $NAME [arguments]" fi + echo "" echo "Available commands:" ls $ACTIONS | sed -e 's/^/\t/' + + echo "" + echo "Available hydras: "`ls ~/.hydra/ -1 | grep -ve "^config$" | xargs` } # Hydra usage diff --git a/share/hydra/init b/share/hydra/init index ad2f065..dbc2414 100755 --- a/share/hydra/init +++ b/share/hydra/init @@ -47,24 +47,28 @@ if [ ! -z "$REMOTE" ]; then echo "Using $REMOTE as private gitolite address." echo "PRIVATE_REPOS=$REMOTE" >> $PREFERENCES else - # TODO: setup remotes and README content # No remote was given, so we assume this is a shiny new hydra! - mkdir $BASEDIR/{config,doc} - ( - cd $BASEDIR/config - touch README.md - git init - git add . - git commit -m "Initial import" - ) + if [ ! -d "$BASEDIR/config" ]; then + mkdir -p "$BASEDIR/config" + ( + cd $BASEDIR/config + echo "Hydra $HYDRA config repository" > README.md + git init + git add . + git commit -m "Initial import" + ) + fi - ( - cd $BASEDIR/doc - touch README.md - git init - git add . - git commit -m "Initial import" - ) + if [ ! -d "$BASEDIR/doc" ]; then + mkdir -p "$BASEDIR/doc" + ( + cd $BASEDIR/doc + echo "Use this repository for notes about Hydra $HYDRA" > README.md + git init + git add . + git commit -m "Initial import" + ) + fi fi # Sync repositories diff --git a/share/hydra/sync b/share/hydra/sync index b65a95e..56eeede 100755 --- a/share/hydra/sync +++ b/share/hydra/sync @@ -26,7 +26,7 @@ function hydra_sync { continue fi - if [ ! -d "$HYDRA_FOLDER/$repository/.git" ]; then + if [ ! -d "$HYDRA_FOLDER/$repository" ]; then git clone $PRIVATE_REPOS/$repository $HYDRA_FOLDER/$repository fi @@ -44,7 +44,7 @@ function hydra_sync { # Basic parameters. if [ -z "$1" ]; then - REPOSITORIES="bootless dns gitolite/public gitolite/private gitosis/public gitosis/private puppet" + REPOSITORIES="config doc bootless dns gitolite/public gitolite/private gitosis/public gitosis/private puppet" else REPOSITORIES="$*" UPDATE_KEYRINGER="no" -- cgit v1.2.3