- hydra: issues commands on multiple hosts.
- hydras: issues commands to multiple sets of hosts.
-TODO
-----
+Installation
+------------
-Hydra:
+First, clone the code:
- - Init: create config and doc repositories.
- - Init: generate puppet repository using "hydractl bootstrap repository"
- - 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.
+ git clone git://git.sarava.org/hydra.git
+ cd hydra && git tag -v
+
+Then add hydra folder to your `$PATH` or run the following command to install
+if under `/usr/local`:
+
+ ./hydractl provision
+
+Managing an existing network
+----------------------------
+
+If you have enough credentials, you can fetch all the needed repositories and configurations
+using simply the following command:
+
+ hydra example init ~/file/example ssh://gitolite@admin.example.org/config.git
+
+Creating a new network
+----------------------
+
+To create the needed repositories to start a new network, use a similar command:
+
+ hydra example init ~/file/example
--- /dev/null
+TODO
+====
+
+Hydra
+-----
+
+ - Init: create config and doc repositories.
+ - Init: generate puppet repository using "hydractl bootstrap repository"
+ - 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.
PUPPET_KEYS="$PUPPET/modules/site_keys/files"
fi
+ if [ ! -z "$REMOTE_REPOS" ]; then
+ echo "Using deprecated config REMOTE_REPOS, please update $PREFERENCES."
+ fi
+
+ if [ ! -z "$PRIVATE_REPOS" ]; then
+ echo "Using deprecated config PRIVATE_REPOS, please update $PREFERENCES."
+ fi
+
export HYDRA_CONNECT="ssh -T -o ConnectTimeout=15"
}
elif grep -q -e "^$HYDRA=" $CONFIG &> /dev/null; then
echo "Hydra $HYDRA already defined"
exit 1
+elif [ -d "$BASEDIR" ]; then
+ echo "Folder $BASEDIR already exists, hydra $HYDRA already defined?"
+ exit 1
fi
+# Create base
+mkdir -p $BASEDIR
+
# Reparse basedir to force absolute folder
BASEDIR="`cd $BASEDIR && pwd`"
# Optional remote configuration
if [ ! -z "$REMOTE" ]; then
- echo "Using $REMOTE as private gitolite address."
- echo "PRIVATE_REPOS=$REMOTE" >> $PREFERENCES
+ # Clone configuration repository
+ git clone $REMOTE $BASEDIR/config
else
# No remote was given, so we assume this is a shiny new hydra!
if [ ! -d "$BASEDIR/config" ]; then