mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2026-08-20 06:32:27 +02:00
Compare commits
3
Commits
cogburn/memory
...
3/dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f3f58bd70 | ||
|
|
d62c53fc92 | ||
|
|
2f2187f714 |
@@ -3,6 +3,8 @@
|
|||||||
# https://securityonion.net/license; you may not use this file except in compliance with the
|
# https://securityonion.net/license; you may not use this file except in compliance with the
|
||||||
# Elastic License 2.0.
|
# Elastic License 2.0.
|
||||||
|
|
||||||
|
{% from 'vars/globals.map.jinja' import GLOBALS %}
|
||||||
|
|
||||||
# Manages /etc/systemd/system/so-boot-highstate.service, a Type=oneshot
|
# Manages /etc/systemd/system/so-boot-highstate.service, a Type=oneshot
|
||||||
# RemainAfterExit=yes unit that runs `salt-call state.highstate` exactly once
|
# RemainAfterExit=yes unit that runs `salt-call state.highstate` exactly once
|
||||||
# per system boot. Replaces the legacy `startup_states: highstate` minion
|
# per system boot. Replaces the legacy `startup_states: highstate` minion
|
||||||
@@ -19,9 +21,25 @@ so_boot_highstate_unit_file:
|
|||||||
- onchanges_in:
|
- onchanges_in:
|
||||||
- module: systemd_reload
|
- module: systemd_reload
|
||||||
|
|
||||||
|
# Non-managers never apply salt.minion during setup, so reaching this state means
|
||||||
|
# setup is finished and the marker is safe to write unconditionally. This also
|
||||||
|
# heals nodes installed before this fix, which have no marker and no legacy
|
||||||
|
# startup_states line to grep for. Managers do highstate mid-setup, so they only
|
||||||
|
# get the marker from the legacy upgrade signal; fresh installs get it from
|
||||||
|
# mark_setup_complete in setup/so-functions.
|
||||||
|
mark_setup_complete:
|
||||||
|
file.managed:
|
||||||
|
- name: /opt/so/state/setup-complete
|
||||||
|
- replace: false
|
||||||
|
- makedirs: True
|
||||||
|
{% if GLOBALS.is_manager %}
|
||||||
|
- onlyif: "grep -qx 'startup_states: highstate' /etc/salt/minion"
|
||||||
|
{% endif %}
|
||||||
|
- require_in:
|
||||||
|
- service: so_boot_highstate_service
|
||||||
|
|
||||||
# Only enable once setup is complete. Until then the gate file is missing and
|
# Only enable once setup is complete. Until then the gate file is missing and
|
||||||
# the unit's own ConditionPathExists would no-op it anyway -- this just keeps
|
# the unit's own ConditionPathExists would no-op it anyway.
|
||||||
# `systemctl is-enabled` honest for the sync_es_users gate.
|
|
||||||
so_boot_highstate_service:
|
so_boot_highstate_service:
|
||||||
service.enabled:
|
service.enabled:
|
||||||
- name: so-boot-highstate.service
|
- name: so-boot-highstate.service
|
||||||
|
|||||||
@@ -87,27 +87,15 @@ set_log_levels:
|
|||||||
# so-boot-highstate.service (managed in salt.minion.boot_highstate), which
|
# so-boot-highstate.service (managed in salt.minion.boot_highstate), which
|
||||||
# runs once per system boot only. Strip the line from /etc/salt/minion on
|
# runs once per system boot only. Strip the line from /etc/salt/minion on
|
||||||
# upgrade; both the commented and uncommented forms historically existed.
|
# upgrade; both the commented and uncommented forms historically existed.
|
||||||
|
# Ordered after mark_setup_complete (salt.minion.boot_highstate); the manager
|
||||||
|
# gate there greps for this line, so it must run before we delete it.
|
||||||
remove_startup_states:
|
remove_startup_states:
|
||||||
file.line:
|
file.line:
|
||||||
- name: /etc/salt/minion
|
- name: /etc/salt/minion
|
||||||
- match: 'startup_states: highstate'
|
- match: 'startup_states: highstate'
|
||||||
- mode: delete
|
- mode: delete
|
||||||
|
- require:
|
||||||
# Upgrade-path bridge: systems that already passed setup under the old gate
|
- file: mark_setup_complete
|
||||||
# (`grep -x 'startup_states: highstate' /etc/salt/minion`) get a /opt/so/state/setup-complete
|
|
||||||
# marker so so-boot-highstate.service can be enabled and the so-user_sync cron
|
|
||||||
# in sync_es_users.sls keeps installing. Setup-in-progress systems instead get
|
|
||||||
# the marker from `mark_setup_complete` in setup/so-functions at the right
|
|
||||||
# moment. `replace: false` means we never overwrite a marker once written.
|
|
||||||
mark_setup_complete_for_upgrades:
|
|
||||||
file.managed:
|
|
||||||
- name: /opt/so/state/setup-complete
|
|
||||||
- replace: false
|
|
||||||
- makedirs: True
|
|
||||||
- onlyif: "grep -qx 'startup_states: highstate' /etc/salt/minion"
|
|
||||||
- require_in:
|
|
||||||
- file: remove_startup_states
|
|
||||||
- service: so_boot_highstate_service
|
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,15 @@ set_role_grain:
|
|||||||
- name: role
|
- name: role
|
||||||
- value: so-{{ grains.id.split("_") | last }}
|
- value: so-{{ grains.id.split("_") | last }}
|
||||||
|
|
||||||
|
# salt-cloud guests never run so-setup, so nothing else marks them setup-complete.
|
||||||
|
# Replaces the 'startup_states: highstate' line this state used to append. No
|
||||||
|
# GLOBALS import -- this runs before the guest's pillars exist.
|
||||||
|
mark_setup_complete_vm_guest:
|
||||||
|
file.managed:
|
||||||
|
- name: /opt/so/state/setup-complete
|
||||||
|
- replace: false
|
||||||
|
- makedirs: True
|
||||||
|
|
||||||
enable_salt_minion:
|
enable_salt_minion:
|
||||||
service.enabled:
|
service.enabled:
|
||||||
- name: salt-minion
|
- name: salt-minion
|
||||||
|
|||||||
@@ -833,6 +833,7 @@ if ! [[ -f $install_opt_file ]]; then
|
|||||||
check_sos_appliance
|
check_sos_appliance
|
||||||
drop_install_options
|
drop_install_options
|
||||||
hypervisor_local_states
|
hypervisor_local_states
|
||||||
|
mark_setup_complete
|
||||||
verify_setup
|
verify_setup
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user