Merge pull request #10665 from Security-Onion-Solutions/desktop

Desktop Install
This commit is contained in:
Mike Reeves
2023-06-26 15:42:14 -04:00
committed by GitHub

View File

@@ -6,17 +6,17 @@
# Elastic License 2.0. # Elastic License 2.0.
{# we only want the script to install the workstation if it is Rocky -#} {# we only want the script to install the desktop if it is Rocky -#}
{% if grains.os == 'Rocky' -%} {% if grains.os == 'Rocky' -%}
{# if this is a manager -#} {# if this is a manager -#}
{% if grains.master == grains.id.split('_')|first -%} {% if grains.master == grains.id.split('_')|first -%}
source /usr/sbin/so-common source /usr/sbin/so-common
doc_workstation_url="$DOC_BASE_URL/analyst-vm.html" doc_desktop_url="$DOC_BASE_URL/desktop.html"
pillar_file="/opt/so/saltstack/local/pillar/minions/{{grains.id}}.sls" pillar_file="/opt/so/saltstack/local/pillar/minions/{{grains.id}}.sls"
if [ -f "$pillar_file" ]; then if [ -f "$pillar_file" ]; then
if ! grep -q "^workstation:$" "$pillar_file"; then if ! grep -q "^desktop:$" "$pillar_file"; then
FIRSTPASS=yes FIRSTPASS=yes
while [[ $INSTALL != "yes" ]] && [[ $INSTALL != "no" ]]; do while [[ $INSTALL != "yes" ]] && [[ $INSTALL != "no" ]]; do
@@ -46,36 +46,36 @@ if [ -f "$pillar_file" ]; then
exit 0 exit 0
fi fi
# Add workstation pillar to the minion's pillar file # Add desktop pillar to the minion's pillar file
printf '%s\n'\ printf '%s\n'\
"workstation:"\ "desktop:"\
" gui:"\ " gui:"\
" enabled: true"\ " enabled: true"\
"" >> "$pillar_file" "" >> "$pillar_file"
echo "Applying the workstation state. This could take some time since there are many packages that need to be installed." echo "Applying the desktop state. This could take some time since there are many packages that need to be installed."
if salt-call state.apply workstation -linfo queue=True; then # make sure the state ran successfully if salt-call state.apply desktop -linfo queue=True; then # make sure the state ran successfully
echo "" echo ""
echo "Analyst workstation has been installed!" echo "Analyst desktop has been installed!"
echo "Press ENTER to reboot or Ctrl-C to cancel." echo "Press ENTER to reboot or Ctrl-C to cancel."
read pause read pause
reboot; reboot;
else else
echo "There was an issue applying the workstation state. Please review the log above or at /opt/so/log/salt/minion." echo "There was an issue applying the desktop state. Please review the log above or at /opt/so/log/salt/minion."
fi fi
else # workstation is already added else # desktop is already added
echo "The workstation pillar already exists in $pillar_file." echo "The desktop pillar already exists in $pillar_file."
echo "To enable/disable the gui, set 'workstation:gui:enabled' to true or false in $pillar_file." echo "To enable/disable the gui, set 'desktop:gui:enabled' to true or false in $pillar_file."
echo "Additional documentation can be found at $doc_workstation_url." echo "Additional documentation can be found at $doc_desktop_url."
fi fi
else # if the pillar file doesn't exist else # if the pillar file doesn't exist
echo "Could not find $pillar_file and add the workstation pillar." echo "Could not find $pillar_file and add the desktop pillar."
fi fi
{#- if this is not a manager #} {#- if this is not a manager #}
{% else -%} {% else -%}
echo "Since this is not a manager, the pillar values to enable analyst workstation must be set manually. Please view the documentation at $doc_workstation_url." echo "Since this is not a manager, the pillar values to enable Security Onion Desktop must be set manually. Please view the documentation at $doc_desktop_url."
{#- endif if this is a manager #} {#- endif if this is a manager #}
{% endif -%} {% endif -%}
@@ -83,7 +83,7 @@ echo "Since this is not a manager, the pillar values to enable analyst workstati
{#- if not Rocky #} {#- if not Rocky #}
{%- else %} {%- else %}
echo "The Analyst Workstation can only be installed on Rocky. Please view the documentation at $doc_workstation_url." echo "The Security Onion Desktop can only be installed on Rocky Linux. Please view the documentation at $doc_desktop_url."
{#- endif grains.os == Rocky #} {#- endif grains.os == Rocky #}
{% endif -%} {% endif -%}