-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:
- 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.
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
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
continue
fi
- if [ ! -d "$HYDRA_FOLDER/$repository/.git" ]; then
+ if [ ! -d "$HYDRA_FOLDER/$repository" ]; then
git clone $PRIVATE_REPOS/$repository $HYDRA_FOLDER/$repository
fi
# 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"