Additional logic

This commit is contained in:
Mike Reeves
2020-09-28 10:12:52 -04:00
parent e30958b9ec
commit 6a4d6f7a6d

View File

@@ -41,17 +41,17 @@ airgap_mounted() {
if [ -f /tmp/soagupdate/SecurityOnion/VERSION ]; then if [ -f /tmp/soagupdate/SecurityOnion/VERSION ]; then
echo "The ISO is already mounted" echo "The ISO is already mounted"
else else
echo "Looks like we need to mount the ISO"
echo ""
echo "You will need the full path of the ISO"
echo "Example: /home/user/securityonion-2.3.0.iso"
echo "" echo ""
read -p 'Enter the FULL path of the iso: ' ISOLOC echo "Looks like we need access to the upgrade content"
if [ ! -f $ISOLOC ]; then echo ""
echo "Unable to locate ISO image. Please try soup again" echo "If you just copied the .iso file over you can specify the path."
exit 0 echo "If you burned the ISO to a disk the standard way you can specify the device."
else echo "Example: /home/user/securityonion-2.X.0.iso"
# Mounting the ISO echo "Example: /dev/cdrom"
echo ""
read -p 'Enter the location of the iso: ' ISOLOC
if [ -f $ISOLOC ]; then
# Mounting the ISO image
mkdir -p /tmp/soagupdate mkdir -p /tmp/soagupdate
mount -t iso9660 -o loop $ISOLOC /tmp/soagupdate mount -t iso9660 -o loop $ISOLOC /tmp/soagupdate
# Make sure mounting was successful # Make sure mounting was successful
@@ -61,7 +61,20 @@ airgap_mounted() {
exit 0 exit 0
else else
echo "ISO has been mounted!" echo "ISO has been mounted!"
fi fi
elif [ -f $ISOLOC/SecurityOnion/VERSION ]; then
ln -s $ISOLOC /tmp/soagupdate
echo "Found the update content"
else
mkdir -p /tmp/soagupdate
mount $ISOLOC /tmp/soagupdate
if [ ! -f /tmp/soagupdate/SecurityOnion/VERSION ]; then
echo "Something went wrong trying to mount the device."
echo "Ensure you verify the ISO that you downloaded."
exit 0
else
echo "Device has been mounted!"
fi
fi fi
fi fi
} }
@@ -168,7 +181,6 @@ pillar_changes() {
[[ "$INSTALLEDVERSION" =~ rc.1 ]] && rc1_to_rc2 [[ "$INSTALLEDVERSION" =~ rc.1 ]] && rc1_to_rc2
[[ "$INSTALLEDVERSION" =~ rc.2 ]] && rc2_to_rc3 [[ "$INSTALLEDVERSION" =~ rc.2 ]] && rc2_to_rc3
[[ "$INSTALLEDVERSION" =~ rc.3 ]] && rc3_to_2.3.0 [[ "$INSTALLEDVERSION" =~ rc.3 ]] && rc3_to_2.3.0
} }
@@ -233,9 +245,12 @@ rc2_to_rc3() {
} }
rc3_to_2.3.0() [ rc3_to_2.3.0() {
echo "" # Fix Tab Complete
] if [ ! -f /etc/profile.d/securityonion.sh ]; then
echo "complete -cf sudo" > /etc/profile.d/securityonion.sh
fi
}
space_check() { space_check() {
# Check to see if there is enough space # Check to see if there is enough space
@@ -249,6 +264,19 @@ space_check() {
} }
unmount_update() {
cd /tmp
umount /tmp/soagupdate
}
update_centos_repo() {
# Update the files in the repo
echo "Syncing new updates to /nsm/repo"
rsync -a $AGDOCKER/repo /nsm/repo
echo "Creating repo"
createrepo /nsm/repo
}
update_dockers() { update_dockers() {
if [[ $is_airgap ]]; then if [[ $is_airgap ]]; then
# Let's copy the tarball # Let's copy the tarball
@@ -477,6 +505,11 @@ echo ""
echo "Updating dockers to $NEWVERSION." echo "Updating dockers to $NEWVERSION."
update_dockers update_dockers
# Only update the repo if its airgap
if [ $is_airgap ]; then
update_centos_repo
fi
echo "" echo ""
echo "Copying new Security Onion code from $UPDATE_DIR to $DEFAULT_SALT_DIR." echo "Copying new Security Onion code from $UPDATE_DIR to $DEFAULT_SALT_DIR."
copy_new_files copy_new_files
@@ -508,6 +541,7 @@ echo "Starting Salt Master service."
systemctl start salt-master systemctl start salt-master
highstate highstate
playbook playbook
unmount_update
SALTUPGRADED="True" SALTUPGRADED="True"
if [[ "$SALTUPGRADED" == "True" ]]; then if [[ "$SALTUPGRADED" == "True" ]]; then