From a229ae82ce999efad2168e16906e41d6b0d14abe Mon Sep 17 00:00:00 2001 From: m0duspwnens Date: Wed, 2 Sep 2020 16:15:52 -0400 Subject: [PATCH] only allow state to run if it is in top for the node --- salt/ca/init.sls | 9 ++++++++- salt/common/init.sls | 9 ++++++++- salt/curator/init.sls | 7 +++++++ salt/docker/init.sls | 9 ++++++++- salt/domainstats/init.sls | 6 ++++++ salt/elastalert/init.sls | 7 +++++++ salt/elasticsearch/init.sls | 7 +++++++ salt/filebeat/init.sls | 7 +++++++ salt/firewall/init.sls | 7 +++++++ salt/fleet/init.sls | 7 +++++++ salt/freqserver/init.sls | 6 ++++++ salt/grafana/init.sls | 7 +++++++ salt/healthcheck/init.sls | 7 +++++++ salt/idstools/init.sls | 7 +++++++ salt/influxdb/init.sls | 5 +++++ salt/kibana/init.sls | 9 ++++++++- salt/logstash/init.sls | 7 +++++++ salt/manager/init.sls | 7 +++++++ salt/minio/init.sls | 8 +++++++- salt/motd/init.sls | 7 +++++++ salt/mysql/init.sls | 7 +++++++ salt/nginx/init.sls | 7 +++++++ salt/nodered/init.sls | 5 +++++ salt/pcap/init.sls | 7 +++++++ salt/playbook/init.sls | 9 ++++++++- salt/redis/init.sls | 7 +++++++ salt/registry/init.sls | 7 +++++++ salt/salt/master.sls | 9 ++++++++- salt/soc/init.sls | 7 +++++++ salt/soctopus/init.sls | 7 +++++++ salt/ssl/init.sls | 7 +++++++ salt/strelka/init.sls | 7 +++++++ salt/suricata/init.sls | 6 ++++++ salt/telegraf/init.sls | 9 ++++++++- salt/thehive/init.sls | 7 +++++++ salt/utility/init.sls | 7 +++++++ salt/wazuh/init.sls | 7 +++++++ salt/yum/init.sls | 9 ++++++++- salt/zeek/init.sls | 8 +++++++- 39 files changed, 274 insertions(+), 10 deletions(-) diff --git a/salt/ca/init.sls b/salt/ca/init.sls index 62b89d351..850550b7d 100644 --- a/salt/ca/init.sls +++ b/salt/ca/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'ca' in top_states %} + {% set manager = salt['grains.get']('master') %} /etc/salt/minion.d/signing_policies.conf: file.managed: @@ -51,4 +56,6 @@ cakeyperms: - replace: False - name: /etc/pki/ca.key - mode: 640 - - group: 939 \ No newline at end of file + - group: 939 + +{% endif %} \ No newline at end of file diff --git a/salt/common/init.sls b/salt/common/init.sls index c950e6036..c840eca26 100644 --- a/salt/common/init.sls +++ b/salt/common/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'common' in top_states %} + {% set role = grains.id.split('_') | last %} # Remove variables.txt from /tmp - This is temp @@ -190,4 +195,6 @@ sensorrotateconf: # Make sure Docker is always running docker: service.running: - - enable: True \ No newline at end of file + - enable: True + +{% endif %} \ No newline at end of file diff --git a/salt/curator/init.sls b/salt/curator/init.sls index b98eaf6cb..73b4fa0fa 100644 --- a/salt/curator/init.sls +++ b/salt/curator/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'curator' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -131,3 +136,5 @@ so-curator: # End Curator Cron Jobs {% endif %} + +{% endif %} \ No newline at end of file diff --git a/salt/docker/init.sls b/salt/docker/init.sls index 3021552ab..8e92a1b19 100644 --- a/salt/docker/init.sls +++ b/salt/docker/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'docker' in top_states %} + installdocker: pkg.installed: - name: docker-ce @@ -5,4 +10,6 @@ installdocker: # Make sure Docker is running! docker: service.running: - - enable: True \ No newline at end of file + - enable: TrueA + +{% endif %} \ No newline at end of file diff --git a/salt/domainstats/init.sls b/salt/domainstats/init.sls index 764435e5f..445861b26 100644 --- a/salt/domainstats/init.sls +++ b/salt/domainstats/init.sls @@ -12,6 +12,10 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'domainstats' in top_states %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} @@ -51,3 +55,5 @@ so-domainstats: - user: domainstats - binds: - /opt/so/log/domainstats:/var/log/domain_stats + +{% endif %} \ No newline at end of file diff --git a/salt/elastalert/init.sls b/salt/elastalert/init.sls index 741f9ff2a..75da480ac 100644 --- a/salt/elastalert/init.sls +++ b/salt/elastalert/init.sls @@ -12,6 +12,11 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'elastalert' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -125,3 +130,5 @@ so-elastalert: - require: - module: wait_for_elasticsearch {% endif %} + +{% endif %} \ No newline at end of file diff --git a/salt/elasticsearch/init.sls b/salt/elasticsearch/init.sls index cc2d91537..357895b23 100644 --- a/salt/elasticsearch/init.sls +++ b/salt/elasticsearch/init.sls @@ -12,6 +12,11 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'elasticsearch' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -237,4 +242,6 @@ so-elasticsearch-templates: cmd.run: - name: /usr/sbin/so-elasticsearch-templates - cwd: /opt/so +{% endif %} + {% endif %} \ No newline at end of file diff --git a/salt/filebeat/init.sls b/salt/filebeat/init.sls index ee7c5ae10..31acc63b2 100644 --- a/salt/filebeat/init.sls +++ b/salt/filebeat/init.sls @@ -11,6 +11,11 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'filebeat' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -69,3 +74,5 @@ so-filebeat: - 0.0.0.0:514:514/udp - watch: - file: /opt/so/conf/filebeat/etc/filebeat.yml + +{% endif %} \ No newline at end of file diff --git a/salt/firewall/init.sls b/salt/firewall/init.sls index 7d4dab0bf..3a943874d 100644 --- a/salt/firewall/init.sls +++ b/salt/firewall/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'firewall' in top_states %} + # Firewall Magic for the grid {% from 'firewall/map.jinja' import hostgroups with context %} {% from 'firewall/map.jinja' import assigned_hostgroups with context %} @@ -128,3 +133,5 @@ iptables_drop_all_the_things: - chain: LOGGING - jump: DROP - save: True + +{% endif %} \ No newline at end of file diff --git a/salt/fleet/init.sls b/salt/fleet/init.sls index b2a3bb516..aded11fb3 100644 --- a/salt/fleet/init.sls +++ b/salt/fleet/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'fleet' in top_states %} + {%- set MYSQLPASS = salt['pillar.get']('secrets:mysql', None) -%} {%- set FLEETPASS = salt['pillar.get']('secrets:fleet', None) -%} {%- set FLEETJWT = salt['pillar.get']('secrets:fleet_jwt', None) -%} @@ -133,3 +138,5 @@ so-fleet: - /opt/so/conf/fleet/etc {% endif %} + +{% endif %} \ No newline at end of file diff --git a/salt/freqserver/init.sls b/salt/freqserver/init.sls index f48b66cff..06e25c87c 100644 --- a/salt/freqserver/init.sls +++ b/salt/freqserver/init.sls @@ -12,6 +12,10 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'freqserver' in top_states %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} @@ -52,3 +56,5 @@ so-freq: - binds: - /opt/so/log/freq_server:/var/log/freq_server:rw +{% endif %} + diff --git a/salt/grafana/init.sls b/salt/grafana/init.sls index 9fdd26b12..7f760daa2 100644 --- a/salt/grafana/init.sls +++ b/salt/grafana/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'grafana' in top_states %} + {% set GRAFANA = salt['pillar.get']('manager:grafana', '0') %} {% set MANAGER = salt['grains.get']('master') %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} @@ -230,4 +235,6 @@ so-grafana: - watch: - file: /opt/so/conf/grafana/* +{% endif %} + {% endif %} \ No newline at end of file diff --git a/salt/healthcheck/init.sls b/salt/healthcheck/init.sls index 94f8028ba..b2a9121e2 100644 --- a/salt/healthcheck/init.sls +++ b/salt/healthcheck/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'healthcheck' in top_states %} + {% set CHECKS = salt['pillar.get']('healthcheck:checks', {}) %} {% set ENABLED = salt['pillar.get']('healthcheck:enabled', False) %} {% set SCHEDULE = salt['pillar.get']('healthcheck:schedule', 300) %} @@ -23,3 +28,5 @@ healthcheck_schedule_{{ STATUS[0] }}: healthcheck_schedule_{{ STATUS[1] }}: schedule.{{ STATUS[1] }}: - name: healthcheck + +{% endif %} \ No newline at end of file diff --git a/salt/idstools/init.sls b/salt/idstools/init.sls index 93db83759..c125444e1 100644 --- a/salt/idstools/init.sls +++ b/salt/idstools/init.sls @@ -12,6 +12,11 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'idstools' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -69,3 +74,5 @@ so-idstools: - /opt/so/rules/nids:/opt/so/rules/nids:rw - watch: - file: idstoolsetcsync + +{% endif%} \ No newline at end of file diff --git a/salt/influxdb/init.sls b/salt/influxdb/init.sls index d35ab6cae..d8f6fc46b 100644 --- a/salt/influxdb/init.sls +++ b/salt/influxdb/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'influxdb' in top_states %} + {% set GRAFANA = salt['pillar.get']('manager:grafana', '0') %} {% set MANAGER = salt['grains.get']('master') %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} diff --git a/salt/kibana/init.sls b/salt/kibana/init.sls index 8711d47d1..a499ea70e 100644 --- a/salt/kibana/init.sls +++ b/salt/kibana/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'kibana' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -114,4 +119,6 @@ so-kibana-config-load: # - shell: /bin/bash # - runas: socore # - source: salt://kibana/bin/keepkibanahappy.sh -# - template: jinja \ No newline at end of file +# - template: jinja + +{% endif %} \ No newline at end of file diff --git a/salt/logstash/init.sls b/salt/logstash/init.sls index 33fc496dc..24257aa93 100644 --- a/salt/logstash/init.sls +++ b/salt/logstash/init.sls @@ -12,6 +12,11 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'logstash' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -195,3 +200,5 @@ so-logstash: {% for TEMPLATE in TEMPLATES %} - file: es_template_{{TEMPLATE.split('.')[0] | replace("/","_") }} {% endfor %} + +{% endif %} \ No newline at end of file diff --git a/salt/manager/init.sls b/salt/manager/init.sls index 3b4852542..f48ebb496 100644 --- a/salt/manager/init.sls +++ b/salt/manager/init.sls @@ -12,6 +12,11 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'manager' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -76,3 +81,5 @@ so-aptcacherng: - /opt/so/conf/aptcacher-ng/etc/acng.conf:/etc/apt-cacher-ng/acng.conf:ro {% endif %} + +{% endif %} \ No newline at end of file diff --git a/salt/minio/init.sls b/salt/minio/init.sls index ece8673bd..6fc383f4e 100644 --- a/salt/minio/init.sls +++ b/salt/minio/init.sls @@ -12,6 +12,10 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'minio' in top_states %} {% set access_key = salt['pillar.get']('minio:access_key', '') %} {% set access_secret = salt['pillar.get']('minio:access_secret', '') %} @@ -56,4 +60,6 @@ so-minio: - /opt/so/conf/minio/etc:/.minio:rw - /etc/pki/minio.key:/.minio/certs/private.key:ro - /etc/pki/minio.crt:/.minio/certs/public.crt:ro - - entrypoint: "/usr/bin/docker-entrypoint.sh server --certs-dir /.minio/certs --address :9595 /data" \ No newline at end of file + - entrypoint: "/usr/bin/docker-entrypoint.sh server --certs-dir /.minio/certs --address :9595 /data" + +{% endif %} \ No newline at end of file diff --git a/salt/motd/init.sls b/salt/motd/init.sls index 06ad270a1..a689d1707 100644 --- a/salt/motd/init.sls +++ b/salt/motd/init.sls @@ -1,5 +1,12 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'motd' in top_states %} + so_motd: file.managed: - name: /etc/motd - source: salt://motd/files/so_motd.jinja - template: jinja + +{% endif %} \ No newline at end of file diff --git a/salt/mysql/init.sls b/salt/mysql/init.sls index c9c6fde41..ff694227b 100644 --- a/salt/mysql/init.sls +++ b/salt/mysql/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'mysql' in top_states %} + {%- set MYSQLPASS = salt['pillar.get']('secrets:mysql', None) %} {%- set MANAGERIP = salt['pillar.get']('global:managerip', '') %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} @@ -93,3 +98,5 @@ so-mysql: - onchanges: - docker_container: so-mysql {% endif %} + +{% endif %} \ No newline at end of file diff --git a/salt/nginx/init.sls b/salt/nginx/init.sls index 2e67a6b2c..2768f0ff9 100644 --- a/salt/nginx/init.sls +++ b/salt/nginx/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'nginx' in top_states %} + {% set FLEETMANAGER = salt['pillar.get']('global:fleet_manager', False) %} {% set FLEETNODE = salt['pillar.get']('global:fleet_node', False) %} {% set MANAGER = salt['grains.get']('master') %} @@ -85,3 +90,5 @@ so-nginx: - watch: - file: nginxconf - file: nginxconfdir + +{% endif %} \ No newline at end of file diff --git a/salt/nodered/init.sls b/salt/nodered/init.sls index 34aacbd81..6d2e75aa6 100644 --- a/salt/nodered/init.sls +++ b/salt/nodered/init.sls @@ -12,6 +12,10 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'nodered' in top_states %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} @@ -75,3 +79,4 @@ so-nodered-flows: - name: /usr/sbin/so-nodered-load-flows - cwd: / +{% endif %} \ No newline at end of file diff --git a/salt/pcap/init.sls b/salt/pcap/init.sls index 135b49334..cf0a978aa 100644 --- a/salt/pcap/init.sls +++ b/salt/pcap/init.sls @@ -12,6 +12,11 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'pcap' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -160,3 +165,5 @@ so-sensoroni: - /opt/so/log/sensoroni:/opt/sensoroni/logs:rw - watch: - file: /opt/so/conf/sensoroni/sensoroni.json + +{% endif %} \ No newline at end of file diff --git a/salt/playbook/init.sls b/salt/playbook/init.sls index d390a36fb..8f3076faa 100644 --- a/salt/playbook/init.sls +++ b/salt/playbook/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'playbook' in top_states %} + {% set MANAGERIP = salt['pillar.get']('manager:mainip', '') %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} @@ -96,4 +101,6 @@ so-playbookruleupdatecron: - name: /usr/sbin/so-playbook-ruleupdate > /opt/so/log/playbook/update.log 2>&1 - user: root - minute: '1' - - hour: '6' \ No newline at end of file + - hour: '6' + +{% endif %} \ No newline at end of file diff --git a/salt/redis/init.sls b/salt/redis/init.sls index 3f24ba079..b0f663671 100644 --- a/salt/redis/init.sls +++ b/salt/redis/init.sls @@ -12,6 +12,11 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'redis' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -64,3 +69,5 @@ so-redis: - entrypoint: "redis-server /usr/local/etc/redis/redis.conf" - watch: - file: /opt/so/conf/redis/etc + +{% endif %} \ No newline at end of file diff --git a/salt/registry/init.sls b/salt/registry/init.sls index 6e17d639e..d366404fc 100644 --- a/salt/registry/init.sls +++ b/salt/registry/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'registry' in top_states %} + # Create the config directory for the docker registry dockerregistryconfdir: file.directory: @@ -51,3 +56,5 @@ so-dockerregistry: - /nsm/docker-registry/docker:/var/lib/registry/docker:rw - /etc/pki/registry.crt:/etc/pki/registry.crt:ro - /etc/pki/registry.key:/etc/pki/registry.key:ro + +{% endif %} \ No newline at end of file diff --git a/salt/salt/master.sls b/salt/salt/master.sls index 481be743a..1ff35bfd1 100644 --- a/salt/salt/master.sls +++ b/salt/salt/master.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'salt.master' in top_states %} + salt_master_package: pkg.installed: - pkgs: @@ -8,4 +13,6 @@ salt_master_package: salt_master_service: service.running: - name: salt-master - - enable: True \ No newline at end of file + - enable: True + +{% endif %} \ No newline at end of file diff --git a/salt/soc/init.sls b/salt/soc/init.sls index 1c25f42a1..a9d428b8a 100644 --- a/salt/soc/init.sls +++ b/salt/soc/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'soc' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -98,3 +103,5 @@ so-kratos: - 0.0.0.0:4434:4434 - watch: - file: /opt/so/conf/kratos + +{% endif %} \ No newline at end of file diff --git a/salt/soctopus/init.sls b/salt/soctopus/init.sls index 39768fc42..90a654e95 100644 --- a/salt/soctopus/init.sls +++ b/salt/soctopus/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'soctopus' in top_states %} + {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} @@ -63,3 +68,5 @@ so-soctopus: - 0.0.0.0:7000:7000 - extra_hosts: - {{MANAGER_URL}}:{{MANAGER_IP}} + +{% endif %} \ No newline at end of file diff --git a/salt/ssl/init.sls b/salt/ssl/init.sls index 70d4c4b6a..b0895dd72 100644 --- a/salt/ssl/init.sls +++ b/salt/ssl/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'ssl' in top_states %} + {% set manager = salt['grains.get']('master') %} {% set managerip = salt['pillar.get']('global:managerip', '') %} {% set HOSTNAME = salt['grains.get']('host') %} @@ -570,3 +575,5 @@ elastickeyperms: - group: 930 {%- endif %} + +{% endif %} \ No newline at end of file diff --git a/salt/strelka/init.sls b/salt/strelka/init.sls index 1e87aa602..d670ab440 100644 --- a/salt/strelka/init.sls +++ b/salt/strelka/init.sls @@ -12,6 +12,11 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'strelka' in top_states %} + {%- set MANAGER = salt['grains.get']('master') %} {%- set MANAGERIP = salt['pillar.get']('global:managerip', '') %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} @@ -139,3 +144,5 @@ strelka_zeek_extracted_sync: - user: root - name: '[ -d /nsm/zeek/extracted/complete/ ] && mv /nsm/zeek/extracted/complete/* /nsm/strelka/ > /dev/null 2>&1' - minute: '*' + +{% endif %} \ No newline at end of file diff --git a/salt/suricata/init.sls b/salt/suricata/init.sls index 79e06db66..30757d617 100644 --- a/salt/suricata/init.sls +++ b/salt/suricata/init.sls @@ -12,6 +12,10 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'suricata' in top_states %} {% set interface = salt['pillar.get']('sensor:interface', 'bond0') %} {% set ZEEKVER = salt['pillar.get']('global:zeekversion', '') %} @@ -173,3 +177,5 @@ surilogrotate: - daymonth: '*' - month: '*' - dayweek: '*' + +{% endif %} \ No newline at end of file diff --git a/salt/telegraf/init.sls b/salt/telegraf/init.sls index c252cdb5b..e8665cd87 100644 --- a/salt/telegraf/init.sls +++ b/salt/telegraf/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'telegraf' in top_states %} + {% set MANAGER = salt['grains.get']('master') %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} @@ -66,4 +71,6 @@ so-telegraf: - /opt/so/log/suricata:/var/log/suricata:ro - watch: - file: tgrafconf - - file: tgrafsyncscripts \ No newline at end of file + - file: tgrafsyncscripts + +{% endif %} \ No newline at end of file diff --git a/salt/thehive/init.sls b/salt/thehive/init.sls index ffbb50f0c..ae3407a69 100644 --- a/salt/thehive/init.sls +++ b/salt/thehive/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'thehive' in top_states %} + {% set MANAGERIP = salt['pillar.get']('manager:mainip', '') %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} @@ -137,3 +142,5 @@ thehivescript: - cwd: /opt/so - template: jinja - hide_output: True + +{% endif %} \ No newline at end of file diff --git a/salt/utility/init.sls b/salt/utility/init.sls index 4779f9c1d..4f0ffaa77 100644 --- a/salt/utility/init.sls +++ b/salt/utility/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'utility' in top_states %} + # This state is for checking things {% if grains['role'] in ['so-manager', 'so-managersearch', 'so-standalone'] %} # Make sure Cross Cluster is good. Will need some logic once we have hot/warm @@ -19,3 +24,5 @@ fixsearch: - source: salt://utility/bin/eval - template: jinja {% endif %} + +{% endif %} diff --git a/salt/wazuh/init.sls b/salt/wazuh/init.sls index 94b16b199..6b22db8c6 100644 --- a/salt/wazuh/init.sls +++ b/salt/wazuh/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'wazuh' in top_states %} + {%- set HOSTNAME = salt['grains.get']('host', '') %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} @@ -141,3 +146,5 @@ hidsruledir: /opt/so/rules/hids/ruleset: file.symlink: - target: /nsm/wazuh/ruleset + +{% endif %} \ No newline at end of file diff --git a/salt/yum/init.sls b/salt/yum/init.sls index c91de908e..70cc003ed 100644 --- a/salt/yum/init.sls +++ b/salt/yum/init.sls @@ -1,6 +1,13 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'yum' in top_states %} + yumconf: file.managed: - name: /etc/yum.conf - source: salt://yum/etc/yum.conf.jinja - mode: 644 - - template: jinja \ No newline at end of file + - template: jinja + +{% endif %} \ No newline at end of file diff --git a/salt/zeek/init.sls b/salt/zeek/init.sls index f6e1e999e..d27290f98 100644 --- a/salt/zeek/init.sls +++ b/salt/zeek/init.sls @@ -1,3 +1,8 @@ +{% set show_top = salt['state.show_top']() %} +{% set top_states = show_top.values() | join(', ') %} + +{% if 'zeek' in top_states %} + {% from "zeek/map.jinja" import START with context %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} @@ -190,4 +195,5 @@ so-zeek: - file: /opt/so/conf/zeek/zeekctl.cfg - file: /opt/so/conf/zeek/policy - file: /opt/so/conf/zeek/bpf - \ No newline at end of file + +{% endif %} \ No newline at end of file