mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-06 09:12:45 +01:00
Merge pull request #12354 from Security-Onion-Solutions/2450soup
modify soup to update soup scripts using salt
This commit is contained in:
@@ -4,7 +4,6 @@
|
|||||||
{% from 'vars/globals.map.jinja' import GLOBALS %}
|
{% from 'vars/globals.map.jinja' import GLOBALS %}
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- common.soup_scripts
|
|
||||||
- common.packages
|
- common.packages
|
||||||
{% if GLOBALS.role in GLOBALS.manager_roles %}
|
{% if GLOBALS.role in GLOBALS.manager_roles %}
|
||||||
- manager.elasticsearch # needed for elastic_curl_config state
|
- manager.elasticsearch # needed for elastic_curl_config state
|
||||||
@@ -134,6 +133,18 @@ common_sbin_jinja:
|
|||||||
- file_mode: 755
|
- file_mode: 755
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
|
{% if not GLOBALS.is_manager%}
|
||||||
|
# prior to 2.4.50 these scripts were in common/tools/sbin on the manager because of soup and distributed to non managers
|
||||||
|
# these two states remove the scripts from non manager nodes
|
||||||
|
remove_soup:
|
||||||
|
file.absent:
|
||||||
|
- name: /usr/sbin/soup
|
||||||
|
|
||||||
|
remove_so-firewall:
|
||||||
|
file.absent:
|
||||||
|
- name: /usr/sbin/so-firewall
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
so-status_script:
|
so-status_script:
|
||||||
file.managed:
|
file.managed:
|
||||||
- name: /usr/sbin/so-status
|
- name: /usr/sbin/so-status
|
||||||
|
|||||||
@@ -1,23 +1,69 @@
|
|||||||
# Sync some Utilities
|
remove_common_soup:
|
||||||
soup_scripts:
|
file.absent:
|
||||||
file.recurse:
|
- name: /opt/so/saltstack/default/salt/common/tools/sbin/soup
|
||||||
- name: /usr/sbin
|
|
||||||
- user: root
|
|
||||||
- group: root
|
|
||||||
- file_mode: 755
|
|
||||||
- source: salt://common/tools/sbin
|
|
||||||
- include_pat:
|
|
||||||
- so-common
|
|
||||||
- so-image-common
|
|
||||||
|
|
||||||
soup_manager_scripts:
|
remove_common_so-firewall:
|
||||||
file.recurse:
|
file.absent:
|
||||||
- name: /usr/sbin
|
- name: /opt/so/saltstack/default/salt/common/tools/sbin/so-firewall
|
||||||
- user: root
|
|
||||||
- group: root
|
{% if salt['pillar.get']('global:airgap') %}
|
||||||
- file_mode: 755
|
{% set UPDATE_DIR='/tmp/soagupdate/SecurityOnion'%}
|
||||||
- source: salt://manager/tools/sbin
|
{% else %}
|
||||||
- include_pat:
|
{% set UPDATE_DIR='/tmp/sogh/securityonion'%}
|
||||||
- so-firewall
|
{% endif %}
|
||||||
- so-repo-sync
|
|
||||||
- soup
|
copy_so-common_common_tools_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /opt/so/saltstack/default/salt/common/tools/sbin/so-common
|
||||||
|
- source: {{UPDATE_DIR}}/salt/common/tools/sbin/so-common
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-image-common_common_tools_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /opt/so/saltstack/default/salt/common/tools/sbin/so-image-common
|
||||||
|
- source: {{UPDATE_DIR}}/salt/common/tools/sbin/so-image-common
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_soup_manager_tools_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /opt/so/saltstack/default/salt/manager/tools/sbin/soup
|
||||||
|
- source: {{UPDATE_DIR}}/salt/manager/tools/sbin/soup
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-firewall_manager_tools_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /opt/so/saltstack/default/salt/manager/tools/sbin/so-firewall
|
||||||
|
- source: {{UPDATE_DIR}}/salt/manager/tools/sbin/so-firewall
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-common_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /usr/sbin/so-common
|
||||||
|
- source: {{UPDATE_DIR}}/salt/common/tools/sbin/so-common
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-image-common_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /usr/sbin/so-image-common
|
||||||
|
- source: {{UPDATE_DIR}}/salt/common/tools/sbin/so-image-common
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_soup_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /usr/sbin/soup
|
||||||
|
- source: {{UPDATE_DIR}}/salt/manager/tools/sbin/soup
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-firewall_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /usr/sbin/so-firewall
|
||||||
|
- source: {{UPDATE_DIR}}/salt/manager/tools/sbin/so-firewall
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|||||||
@@ -794,21 +794,18 @@ verify_latest_update_script() {
|
|||||||
echo "This version of the soup script is up to date. Proceeding."
|
echo "This version of the soup script is up to date. Proceeding."
|
||||||
else
|
else
|
||||||
echo "You are not running the latest soup version. Updating soup and its components. This might take multiple runs to complete."
|
echo "You are not running the latest soup version. Updating soup and its components. This might take multiple runs to complete."
|
||||||
cp $UPDATE_DIR/salt/manager/tools/sbin/soup $DEFAULT_SALT_DIR/salt/manager/tools/sbin/
|
|
||||||
cp $UPDATE_DIR/salt/common/tools/sbin/so-common $DEFAULT_SALT_DIR/salt/common/tools/sbin/
|
|
||||||
cp $UPDATE_DIR/salt/common/tools/sbin/so-image-common $DEFAULT_SALT_DIR/salt/common/tools/sbin/
|
|
||||||
cp $UPDATE_DIR/salt/manager/tools/sbin/so-firewall $DEFAULT_SALT_DIR/salt/manager/tools/sbin/
|
|
||||||
salt-call state.apply common.soup_scripts queue=True -linfo --file-root=$UPDATE_DIR/salt --local
|
salt-call state.apply common.soup_scripts queue=True -linfo --file-root=$UPDATE_DIR/salt --local
|
||||||
|
|
||||||
# Verify that soup scripts updated as expected
|
# Verify that soup scripts updated as expected
|
||||||
get_soup_script_hashes
|
get_soup_script_hashes
|
||||||
if [[ "$CURRENTSOUP" == "$GITSOUP" && "$CURRENTCMN" == "$GITCMN" && "$CURRENTIMGCMN" == "$GITIMGCMN" && "$CURRENTSOFIREWALL" == "$GITSOFIREWALL" ]]; then
|
if [[ "$CURRENTSOUP" == "$GITSOUP" && "$CURRENTCMN" == "$GITCMN" && "$CURRENTIMGCMN" == "$GITIMGCMN" && "$CURRENTSOFIREWALL" == "$GITSOFIREWALL" ]]; then
|
||||||
echo "Succesfully updated soup scripts."
|
echo "Succesfully updated soup scripts."
|
||||||
else
|
else
|
||||||
# When STIGs are enabled soup scripts will fail to update using --file-root --local.
|
echo "There was a problem updating soup scripts. Trying to rerun script update."
|
||||||
# After checking that the expected hashes are not present, retry updating soup scripts using salt master.
|
salt-call state.apply common.soup_scripts queue=True -linfo --file-root=$UPDATE_DIR/salt --local
|
||||||
echo "There was a problem updating soup scripts.. Trying to rerun script update"
|
|
||||||
salt-call state.apply common.soup_scripts queue=True -linfo
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "The soup script has been modified. Please run soup again to continue the upgrade."
|
echo "The soup script has been modified. Please run soup again to continue the upgrade."
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
Reference in New Issue
Block a user