[feat] Generate gzipped tarball of repo during setup and soup

This commit is contained in:
William Wernert
2020-12-08 14:02:45 -05:00
parent 997e2735e3
commit 65d994a2f8
3 changed files with 19 additions and 1 deletions

View File

@@ -155,6 +155,13 @@ copy_new_files() {
cd /tmp cd /tmp
} }
generate_and_clean_tarballs() {
local new_version
new_version=$(cat $UPDATE_DIR/VERSION)
tar -cxf "/opt/so/repo/$new_version.tar.gz" "$UPDATE_DIR"
find "/opt/so/repo" -type f -not -name "$new_version.tar.gz" -exec rm -rf {} \;
}
highstate() { highstate() {
# Run a highstate. # Run a highstate.
salt-call state.highstate -l info queue=True salt-call state.highstate -l info queue=True
@@ -417,6 +424,8 @@ else
echo "Cloning Security Onion github repo into $UPDATE_DIR." echo "Cloning Security Onion github repo into $UPDATE_DIR."
clone_to_tmp clone_to_tmp
fi fi
echo "Generating new repo archive"
generate_and_clean_tarballs
if [ -f /usr/sbin/so-image-common ]; then if [ -f /usr/sbin/so-image-common ]; then
. /usr/sbin/so-image-common . /usr/sbin/so-image-common
else else

View File

@@ -972,6 +972,10 @@ generate_passwords(){
KRATOSKEY=$(tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 20 | head -n 1) KRATOSKEY=$(tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 20 | head -n 1)
} }
generate_repo_tarball() {
tar -czf /opt/so/repo/"$SOVERSION".tar.gz ../.
}
get_redirect() { get_redirect() {
whiptail_set_redirect whiptail_set_redirect
if [ "$REDIRECTINFO" = "OTHER" ]; then if [ "$REDIRECTINFO" = "OTHER" ]; then

View File

@@ -791,10 +791,15 @@ else
{ {
export percentage=95 # set to last percentage used in previous subshell export percentage=95 # set to last percentage used in previous subshell
if [[ -n $ALLOW_ROLE && -n $ALLOW_CIDR ]]; then if [[ -n $ALLOW_ROLE && -n $ALLOW_CIDR ]]; then
set_progress_str 98 "Running so-allow -${ALLOW_ROLE} for ${ALLOW_CIDR}" set_progress_str 97 "Running so-allow -${ALLOW_ROLE} for ${ALLOW_CIDR}"
IP=$ALLOW_CIDR so-allow -$ALLOW_ROLE >> $setup_log 2>&1 IP=$ALLOW_CIDR so-allow -$ALLOW_ROLE >> $setup_log 2>&1
fi fi
if [[ $is_manager ]]; then
set_progress_str 98 "Generating archive for setup directory"
generate_repo_tarball
fi
if [[ $THEHIVE == 1 ]]; then if [[ $THEHIVE == 1 ]]; then
set_progress_str 99 'Waiting for TheHive to start up' set_progress_str 99 'Waiting for TheHive to start up'
check_hive_init >> $setup_log 2>&1 check_hive_init >> $setup_log 2>&1