diff --git a/salt/common/tools/sbin/so-common b/salt/common/tools/sbin/so-common new file mode 100644 index 000000000..759f78f18 --- /dev/null +++ b/salt/common/tools/sbin/so-common @@ -0,0 +1,30 @@ +#!/bin/bash +# +# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Check for prerequisites +if [ "$(id -u)" -ne 0 ]; then + echo "This script must be run using sudo!" + exit 1 +fi + +# Define a banner to separate sections +banner="=========================================================================" + +header() { + echo + printf '%s\n' "$banner" "$*" "$banner" +} diff --git a/salt/common/tools/sbin/so-restart b/salt/common/tools/sbin/so-restart new file mode 100644 index 000000000..e07fd5010 --- /dev/null +++ b/salt/common/tools/sbin/so-restart @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Usage: so-restart filebeat | kibana | playbook | thehive + +. /usr/sbin/so-common + +echo $banner +printf "Restarting $1\n" +echo $banner + +if [ "$2" = "--force" ] +then + printf "\nForce-stopping all Salt jobs before proceeding\n\n" + salt-call saltutil.kill_all_jobs +fi + +case $1 in + "cortex") docker stop so-thehive-cortex so-thehive && docker rm so-thehive-cortex so-thehive && salt-call state.apply hive queue=True;; + "fleet") docker stop so-fleet so-redis && docker rm so-fleet so-redis && salt-call state.apply fleet queue=True;; + *) docker stop so-$1 && docker rm so-$1 && salt-call state.apply $1 queue=True;; +esac