#!/bin/bash # # Register an existing hydra # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public # License along with this program. If not, see # . # Load source $APP_BASE/lib/hydra/functions || exit 1 hydra_config_load # Command line arguments BASEDIR="$1" # Validation if [ -z "$BASEDIR" ]; then echo "Usage: hydra [hydra] register " exit 1 elif grep -q -e "^$HYDRA=" $CONFIG &> /dev/null; then echo "Hydra $HYDRA already defined" exit 1 fi # Reparse basedir to force absolute folder BASEDIR="`cd $BASEDIR && pwd`" # Add entry echo "Registering hydra $HYDRA..." mkdir -p $BASEDIR chmod 700 $BASEDIR echo "$HYDRA=\"$BASEDIR\"" >> $CONFIG # Puppet configuration echo "Searching for a puppet repository at $BASEDIR..." PUPPET="$(dirname `find $BASEDIR -name puppet.conf | tail -n 1`)" # TODO: setup or clone initial repositories if [ ! -z "$PUPPET" ]; then echo "Found puppet repository at $PUPPET." echo "PUPPET=$PUPPET" >> $PREFERENCES fi