kopia lustrzana https://github.com/alecmuffett/eotk
130 wiersze
2.3 KiB
Bash
Executable File
130 wiersze
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# Enterprise Onion Toolkit
|
|
|
|
cd `dirname $0` || exit 1
|
|
|
|
export EOTK_HOME=`pwd` # expected by tools
|
|
|
|
# set project directory; this path is hard-replicated elsewhere
|
|
project_dir=$EOTK_HOME/projects.d
|
|
|
|
# set path
|
|
export PATH=$EOTK_HOME/opt.d:$EOTK_HOME/lib.d:$PATH
|
|
|
|
# meta
|
|
prog=`basename $0`
|
|
version=1.2
|
|
|
|
Warn() {
|
|
echo "$@" 1>&2
|
|
}
|
|
|
|
AllProjects() {
|
|
(
|
|
cd $project_dir
|
|
for d in *.d/ ; do
|
|
echo `basename $d .d`
|
|
done
|
|
)
|
|
}
|
|
|
|
Action() {
|
|
action=$1
|
|
shift
|
|
|
|
verbose=false
|
|
if [ "x$1" = "x" ] ; then
|
|
Warn "missing project name, try: '$prog projects' for a list, or '-a' for all"
|
|
return
|
|
elif [ "x$1" = "x-a" ] ; then
|
|
projects=`AllProjects`
|
|
verbose=true
|
|
else
|
|
projects="$*"
|
|
fi
|
|
|
|
for project in $projects ; do
|
|
$verbose && echo :::: $project ::::
|
|
sh $project_dir/$project.d/$action.sh
|
|
done
|
|
}
|
|
|
|
cmd="$1"
|
|
shift
|
|
|
|
case "$cmd" in
|
|
version)
|
|
echo $prog $version $EOTK_HOME
|
|
if [ -f .gitignore ] ; then
|
|
git show -s --oneline
|
|
fi
|
|
;;
|
|
|
|
projects|proj)
|
|
AllProjects
|
|
;;
|
|
|
|
configure|config|conf)
|
|
log=configure$$.log
|
|
if ! $EOTK_HOME/lib.d/do-configure.pl "$@" 2>$log ; then
|
|
echo $prog: failure: see $log
|
|
exit 1
|
|
else
|
|
echo done
|
|
fi
|
|
;;
|
|
|
|
start) # project, or "-a"
|
|
Action start "$@"
|
|
;;
|
|
|
|
stop) # project, or "-a"
|
|
Action stop "$@"
|
|
;;
|
|
|
|
bounce|restart|reload) # project, or "-a"
|
|
Action bounce "$@"
|
|
;;
|
|
|
|
debugon) # project, or "-a"
|
|
Action debugon "$@"
|
|
;;
|
|
|
|
debugoff) # project, or "-a"
|
|
Action debugoff "$@"
|
|
;;
|
|
|
|
harvest|onions) # project, or "-a"
|
|
Action harvest "$@"
|
|
;;
|
|
|
|
status) # project, or "-a"
|
|
Action status "$@"
|
|
;;
|
|
|
|
maps|map) # project, or "-a"
|
|
Action maps "$@"
|
|
;;
|
|
|
|
ps)
|
|
ps auxww | grep /eotk/
|
|
;;
|
|
|
|
genkey|gen)
|
|
secrets=secrets.d
|
|
test -d $secrets || mkdir $secrets || exit 1
|
|
( cd $secrets ; generate-onion-key.sh )
|
|
;;
|
|
|
|
delete) # project, or "-a"
|
|
echo delete is tbd
|
|
;;
|
|
|
|
*)
|
|
echo "usage: $prog args ... # see README.md for docs" 1>&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|