mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2026-01-07 00:33:12 +01:00
use maps for so-status - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/619
This commit is contained in:
5
salt/common/maps/broversion.map.jinja
Normal file
5
salt/common/maps/broversion.map.jinja
Normal file
@@ -0,0 +1,5 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-zeek'
|
||||
]
|
||||
} %}
|
||||
5
salt/common/maps/domainstats.map.jinja
Normal file
5
salt/common/maps/domainstats.map.jinja
Normal file
@@ -0,0 +1,5 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-domainstats'
|
||||
]
|
||||
} %}
|
||||
19
salt/common/maps/eval.map.jinja
Normal file
19
salt/common/maps/eval.map.jinja
Normal file
@@ -0,0 +1,19 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-nginx',
|
||||
'so-telegraf',
|
||||
'so-dockerregistry',
|
||||
'so-soc',
|
||||
'so-kratos',
|
||||
'so-idstools',
|
||||
'so-elasticsearch',
|
||||
'so-logstash',
|
||||
'so-kibana',
|
||||
'so-steno',
|
||||
'so-suricata',
|
||||
'so-zeek',
|
||||
'so-curator',
|
||||
'so-elastalert',
|
||||
'so-soctopus'
|
||||
]
|
||||
} %}
|
||||
10
salt/common/maps/fleet.map.jinja
Normal file
10
salt/common/maps/fleet.map.jinja
Normal file
@@ -0,0 +1,10 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-mysql',
|
||||
'so-fleet',
|
||||
'so-redis',
|
||||
'so-filebeat',
|
||||
'so-nginx',
|
||||
'so-telegraf'
|
||||
]
|
||||
} %}
|
||||
7
salt/common/maps/fleet_master.map.jinja
Normal file
7
salt/common/maps/fleet_master.map.jinja
Normal file
@@ -0,0 +1,7 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-mysql',
|
||||
'so-fleet',
|
||||
'so-redis'
|
||||
]
|
||||
} %}
|
||||
5
salt/common/maps/freq.map.jinja
Normal file
5
salt/common/maps/freq.map.jinja
Normal file
@@ -0,0 +1,5 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-freqserver'
|
||||
]
|
||||
} %}
|
||||
6
salt/common/maps/grafana.map.jinja
Normal file
6
salt/common/maps/grafana.map.jinja
Normal file
@@ -0,0 +1,6 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-influxdb',
|
||||
'so-grafana'
|
||||
]
|
||||
} %}
|
||||
14
salt/common/maps/heavynode.map.jinja
Normal file
14
salt/common/maps/heavynode.map.jinja
Normal file
@@ -0,0 +1,14 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-nginx',
|
||||
'so-telegraf',
|
||||
'so-redis',
|
||||
'so-logstash',
|
||||
'so-elasticsearch',
|
||||
'so-curator',
|
||||
'so-steno',
|
||||
'so-suricata',
|
||||
'so-wazuh',
|
||||
'so-filebeat
|
||||
]
|
||||
} %}
|
||||
12
salt/common/maps/helixsensor.map.jinja
Normal file
12
salt/common/maps/helixsensor.map.jinja
Normal file
@@ -0,0 +1,12 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-nginx',
|
||||
'so-telegraf',
|
||||
'so-idstools',
|
||||
'so-steno',
|
||||
'so-zeek',
|
||||
'so-redis',
|
||||
'so-logstash',
|
||||
'so-filebeat
|
||||
]
|
||||
} %}
|
||||
9
salt/common/maps/hotnode.map.jinja
Normal file
9
salt/common/maps/hotnode.map.jinja
Normal file
@@ -0,0 +1,9 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-nginx',
|
||||
'so-telegraf',
|
||||
'so-logstash',
|
||||
'so-elasticsearch',
|
||||
'so-curator',
|
||||
]
|
||||
} %}
|
||||
18
salt/common/maps/master.map.jinja
Normal file
18
salt/common/maps/master.map.jinja
Normal file
@@ -0,0 +1,18 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-dockerregistry',
|
||||
'so-nginx',
|
||||
'so-telegraf',
|
||||
'so-soc',
|
||||
'so-kratos',
|
||||
'so-acng',
|
||||
'so-idstools',
|
||||
'so-redis',
|
||||
'so-elasticsearch',
|
||||
'so-logstash',
|
||||
'so-kibana',
|
||||
'so-elastalert',
|
||||
'so-filebeat',
|
||||
'so-soctopus'
|
||||
]
|
||||
} %}
|
||||
18
salt/common/maps/mastersearch.map.jinja
Normal file
18
salt/common/maps/mastersearch.map.jinja
Normal file
@@ -0,0 +1,18 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-nginx',
|
||||
'so-telegraf',
|
||||
'so-soc',
|
||||
'so-kratos',
|
||||
'so-acng',
|
||||
'so-idstools',
|
||||
'so-redis',
|
||||
'so-logstash',
|
||||
'so-elasticsearch',
|
||||
'so-curator',
|
||||
'so-kibana',
|
||||
'so-elastalert',
|
||||
'so-filebeat',
|
||||
'so-soctopus'
|
||||
]
|
||||
} %}
|
||||
6
salt/common/maps/playbook.map.jinja
Normal file
6
salt/common/maps/playbook.map.jinja
Normal file
@@ -0,0 +1,6 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-playbook',
|
||||
'so-navigator'
|
||||
]
|
||||
} %}
|
||||
10
salt/common/maps/searchnode.map.jinja
Normal file
10
salt/common/maps/searchnode.map.jinja
Normal file
@@ -0,0 +1,10 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-nginx',
|
||||
'so-telegraf',
|
||||
'so-logstash',
|
||||
'so-elasticsearch',
|
||||
'so-curator',
|
||||
'so-filebeat'
|
||||
]
|
||||
} %}
|
||||
9
salt/common/maps/sensor.map.jinja
Normal file
9
salt/common/maps/sensor.map.jinja
Normal file
@@ -0,0 +1,9 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-nginx',
|
||||
'so-telegraf',
|
||||
'so-steno',
|
||||
'so-suricata',
|
||||
'so-filebeat'
|
||||
]
|
||||
} %}
|
||||
61
salt/common/maps/so-status.map.jinja
Normal file
61
salt/common/maps/so-status.map.jinja
Normal file
@@ -0,0 +1,61 @@
|
||||
{% set role = grains.id.split('_') | last %}
|
||||
{% from 'common/map/'~ role ~'.map.jinja' import docker with context %}
|
||||
|
||||
# Check if the service is enabled and append it's required containers
|
||||
# to the list predefined by the role / minion id affix
|
||||
{% macro append_containers(pillar_name, k, compare )%}
|
||||
{% if salt['pillar.get'](pillar_name~':'~k, {}) != %}
|
||||
{% from 'common/maps/'~k~'.map.jinja' import docker as d with context %}
|
||||
{% for li in d['containers'] %}
|
||||
{{ docker['containers'].append(li) }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% set docker = salt['grains.filter_by']({
|
||||
'*_'~role: {
|
||||
'containers': docker['containers']
|
||||
}
|
||||
},grain='id', merge=salt['pillar.get']('docker')) %}
|
||||
|
||||
{% if role == 'eval' %}
|
||||
{{ append_containers('master', 'grafana', '0') }}
|
||||
{{ append_containers('static', 'fleet_master', '0') }}
|
||||
{{ append_containers('master', 'wazuh', '0') }}
|
||||
{{ append_containers('master', 'thehive', '0') }}
|
||||
{{ append_containers('master', 'playbook', '0') }}
|
||||
{{ append_containers('master', 'freq', '0') }}
|
||||
{{ append_containers('master', 'domainstats', '0') }}
|
||||
{% endif %}
|
||||
|
||||
{% if role == 'heavynode' %}
|
||||
{{ append_containers('static', 'broversion', 'SURICATA') }}
|
||||
{% endif %}
|
||||
|
||||
{% if role == 'mastersearch' %}
|
||||
{{ append_containers('master', 'grafana', '0') }}
|
||||
{{ append_containers('static', 'fleet_master, '0'') }}
|
||||
{{ append_containers('master', 'wazuh', '0') }}
|
||||
{{ append_containers('master', 'thehive', '0') }}
|
||||
{{ append_containers('master', 'playbook', '0') }}
|
||||
{{ append_containers('master', 'freq', '0') }}
|
||||
{{ append_containers('master', 'domainstats', '0') }}
|
||||
{% endif %}
|
||||
|
||||
{% if role == 'master' %}
|
||||
{{ append_containers('master', 'grafana', '0') }}
|
||||
{{ append_containers('static', 'fleet_master', '0') }}
|
||||
{{ append_containers('master', 'wazuh', '0') }}
|
||||
{{ append_containers('master', 'thehive', '0') }}
|
||||
{{ append_containers('master', 'playbook', '0') }}
|
||||
{{ append_containers('master', 'freq', '0') }}
|
||||
{{ append_containers('master', 'domainstats', '0') }}
|
||||
{% endif %}
|
||||
|
||||
{% if role == 'searchnode' %}
|
||||
{{ append_containers('master', 'wazuh', '0') }}
|
||||
{% endif %}
|
||||
|
||||
{% if role == 'sensor' %}
|
||||
{{ append_containers('static', 'broversion', 'SURICATA') }}
|
||||
{% endif %}
|
||||
7
salt/common/maps/thehive.map.jinja
Normal file
7
salt/common/maps/thehive.map.jinja
Normal file
@@ -0,0 +1,7 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-thehive',
|
||||
'so-thehive-es',
|
||||
'so-cortex'
|
||||
]
|
||||
} %}
|
||||
7
salt/common/maps/warmnode.map.jinja
Normal file
7
salt/common/maps/warmnode.map.jinja
Normal file
@@ -0,0 +1,7 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-nginx',
|
||||
'so-telegraf',
|
||||
'so-elasticsearch'
|
||||
]
|
||||
} %}
|
||||
5
salt/common/maps/wazuh.map.jinja
Normal file
5
salt/common/maps/wazuh.map.jinja
Normal file
@@ -0,0 +1,5 @@
|
||||
{% set docker = {
|
||||
'containers': [
|
||||
'so-wazuh'
|
||||
]
|
||||
} %}
|
||||
@@ -14,35 +14,8 @@
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
{%- set pillar_suffix = ':containers' -%}
|
||||
{%- if (salt['grains.get']('role') == 'so-mastersearch') -%}
|
||||
{%- set pillar_val = 'master_search' -%}
|
||||
{%- elif (salt['grains.get']('role') == 'so-master') -%}
|
||||
{%- set pillar_val = 'master' -%}
|
||||
{%- elif (salt['grains.get']('role') == 'so-heavynode') -%}
|
||||
{%- set pillar_val = 'heavy_node' -%}
|
||||
{%- elif (salt['grains.get']('role') == 'so-sensor') -%}
|
||||
{%- set pillar_val = 'sensor' -%}
|
||||
{%- elif (salt['grains.get']('role') == 'so-eval') -%}
|
||||
{%- set pillar_val = 'eval' -%}
|
||||
{%- elif (salt['grains.get']('role') == 'so-fleet') -%}
|
||||
{%- set pillar_val = 'fleet' -%}
|
||||
{%- elif (salt['grains.get']('role') == 'so-helix') -%}
|
||||
{%- set pillar_val = 'helix' -%}
|
||||
{%- elif (salt['grains.get']('role') == 'so-node') -%}
|
||||
{%- if (salt['pillar.get']('node:node_type') == 'parser') -%}
|
||||
{%- set pillar_val = 'parser_node' -%}
|
||||
{%- elif (salt['pillar.get']('node:node_type') == 'hot') -%}
|
||||
{%- set pillar_val = 'hot_node' -%}
|
||||
{%- elif (salt['pillar.get']('node:node_type') == 'warm') -%}
|
||||
{%- set pillar_val = 'warm_node' -%}
|
||||
{%- elif (salt['pillar.get']('node:node_type') == 'search') -%}
|
||||
{%- set pillar_val = 'search_node' -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- set pillar_name = pillar_val ~ pillar_suffix -%}
|
||||
{%- set container_list = salt['pillar.get'](pillar_name) %}
|
||||
{%- from 'common/maps/so-status.map.jinja' import docker with context %}
|
||||
{%- set container_list = docker['containers'] %}
|
||||
|
||||
if ! [ "$(id -u)" = 0 ]; then
|
||||
echo "This command must be run as root"
|
||||
|
||||
Reference in New Issue
Block a user