aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2014-02-28 13:11:16 -0300
committerSilvio Rhatto <rhatto@riseup.net>2014-02-28 13:11:16 -0300
commit173bd5c76143bf1e298106314f1577a94773ed9d (patch)
treef5e3c95ede2dab79572f84a483a9a0f7a901bdd5
parent022dfee473c804af2f3bf01065a49250d2074db2 (diff)
downloadhydra-173bd5c76143bf1e298106314f1577a94773ed9d.tar.gz
hydra-173bd5c76143bf1e298106314f1577a94773ed9d.tar.bz2
Setting/syncing config and doc repositories
-rw-r--r--README8
-rw-r--r--lib/hydra/usage4
-rwxr-xr-xshare/hydra/init36
-rwxr-xr-xshare/hydra/sync4
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 <command> [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"