mirror of
https://github.com/crowdsecurity/crowdsec.git
synced 2025-05-14 13:24:34 +02:00
* improve tests for packaging Co-authored-by: sabban <15465465+sabban@users.noreply.github.com> Co-authored-by: mmetc <92726601+mmetc@users.noreply.github.com>
61 lines
1.1 KiB
Bash
Executable file
61 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -eu
|
|
script_name=$0
|
|
|
|
die() {
|
|
echo >&2 "$@"
|
|
exit 1
|
|
}
|
|
|
|
about() {
|
|
die "usage: $script_name [ start | stop ]"
|
|
}
|
|
|
|
#shellcheck disable=SC1007
|
|
THIS_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
cd "${THIS_DIR}"/../../
|
|
#shellcheck disable=SC1091
|
|
. ./.environment.sh
|
|
|
|
# you have not removed set -u above, have you?
|
|
|
|
[ -z "${CROWDSEC-}" ] && die "\$CROWDSEC must be defined."
|
|
[ -z "${CSCLI-}" ] && die "\$CSCLI must be defined."
|
|
[ -z "${LOG_DIR-}" ] && die "\$LOG_DIR must be defined."
|
|
[ -z "${PID_DIR-}" ] && die "\$PID_DIR must be defined."
|
|
|
|
|
|
if [ ! -f "${CROWDSEC}" ]; then
|
|
die "${CROWDSEC} is missing. Please build (with 'make bats-build') or install it."
|
|
fi
|
|
|
|
start() {
|
|
systemctl start crowdsec
|
|
./lib/util/wait-for-port 6060
|
|
sleep 30s
|
|
"${CSCLI}" decisions delete --all
|
|
}
|
|
|
|
stop() {
|
|
systemctl stop crowdsec # systemd doesn't throw error when stopping already stopped stuff
|
|
while pidof /usr/bin/crowdsec ; do sleep 0.1; done
|
|
}
|
|
|
|
|
|
# ---------------------------
|
|
|
|
[ $# -lt 1 ] && about
|
|
|
|
case "$1" in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
*)
|
|
about
|
|
;;
|
|
esac;
|
|
|