diff --git a/salt/elasticagent/config.sls b/salt/elasticagent/config.sls index 18d0e482e..8b24f3b22 100644 --- a/salt/elasticagent/config.sls +++ b/salt/elasticagent/config.sls @@ -28,6 +28,15 @@ elasticagentconfdir: - group: 939 - makedirs: True +elasticagent_sbin_jinja: + file.recurse: + - name: /usr/sbin + - source: salt://elasticagent/tools/sbin_jinja + - user: 949 + - group: 939 + - file_mode: 755 + - template: jinja + # Create config create-elastic-agent-config: file.managed: @@ -37,7 +46,6 @@ create-elastic-agent-config: - group: 939 - template: jinja - {% else %} {{sls}}_state_not_allowed: diff --git a/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-inspect b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-inspect new file mode 100755 index 000000000..27b4cbbeb --- /dev/null +++ b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-inspect @@ -0,0 +1,16 @@ +#!/bin/bash + +# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one +# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at +# https://securityonion.net/license; you may not use this file except in compliance with the +# Elastic License 2.0. + + + +. /usr/sbin/so-common + +{% if grains.role == 'so-heavynode' %} +docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent inspect +{% else %} +/bin/elastic-agent inspect +{% endif %} diff --git a/salt/elasticagent/tools/sbin/so-elastic-agent-restart b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-restart similarity index 67% rename from salt/elasticagent/tools/sbin/so-elastic-agent-restart rename to salt/elasticagent/tools/sbin_jinja/so-elastic-agent-restart index cb125ce10..ea6724e69 100755 --- a/salt/elasticagent/tools/sbin/so-elastic-agent-restart +++ b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-restart @@ -5,6 +5,13 @@ # https://securityonion.net/license; you may not use this file except in compliance with the # Elastic License 2.0. + + . /usr/sbin/so-common -/usr/sbin/so-restart elastic-agent $1 +{% if grains.role == 'so-heavynode' %} +/usr/sbin/so-stop elastic-agent $1 +/usr/sbin/so-start elasticagent $1 +{% else %} +service elastic-agent restart +{% endif %} diff --git a/salt/elasticagent/tools/sbin/so-elastic-agent-start b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-start similarity index 73% rename from salt/elasticagent/tools/sbin/so-elastic-agent-start rename to salt/elasticagent/tools/sbin_jinja/so-elastic-agent-start index 294b9ba7a..47ee83691 100755 --- a/salt/elasticagent/tools/sbin/so-elastic-agent-start +++ b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-start @@ -9,4 +9,9 @@ . /usr/sbin/so-common -/usr/sbin/so-start elastic-agent $1 +{% if grains.role == 'so-heavynode' %} +/usr/sbin/so-start elasticagent $1 +{% else %} +service elastic-agent start +{% endif %} + diff --git a/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-status b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-status new file mode 100755 index 000000000..2c617c8a8 --- /dev/null +++ b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-status @@ -0,0 +1,17 @@ +#!/bin/bash + +# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one +# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at +# https://securityonion.net/license; you may not use this file except in compliance with the +# Elastic License 2.0. + + + +. /usr/sbin/so-common + +{% if grains.role == 'so-heavynode' %} +docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent status +{% else %} +/bin/elastic-agent status +{% endif %} + diff --git a/salt/elasticagent/tools/sbin/so-elastic-agent-stop b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-stop similarity index 80% rename from salt/elasticagent/tools/sbin/so-elastic-agent-stop rename to salt/elasticagent/tools/sbin_jinja/so-elastic-agent-stop index cbfdcd380..863cb5194 100755 --- a/salt/elasticagent/tools/sbin/so-elastic-agent-stop +++ b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-stop @@ -9,4 +9,9 @@ . /usr/sbin/so-common +{% if grains.role == 'so-heavynode' %} /usr/sbin/so-stop elastic-agent $1 +{% else %} +service elastic-agent stop +{% endif %} + diff --git a/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-version b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-version new file mode 100755 index 000000000..6e2cc537e --- /dev/null +++ b/salt/elasticagent/tools/sbin_jinja/so-elastic-agent-version @@ -0,0 +1,17 @@ +#!/bin/bash + +# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one +# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at +# https://securityonion.net/license; you may not use this file except in compliance with the +# Elastic License 2.0. + + + +. /usr/sbin/so-common + +{% if grains.role == 'so-heavynode' %} +docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent version +{% else %} +/bin/elastic-agent version +{% endif %} + diff --git a/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-inspect b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-inspect new file mode 100755 index 000000000..2ad0a3379 --- /dev/null +++ b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-inspect @@ -0,0 +1,16 @@ +#!/bin/bash + +# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one +# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at +# https://securityonion.net/license; you may not use this file except in compliance with the +# Elastic License 2.0. + + + +. /usr/sbin/so-elastic-fleet-common + +{% if grains.role == 'so-heavynode' %} +docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent inspect +{% else %} +/bin/elastic-agent inspect +{% endif %} diff --git a/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-restart b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-restart new file mode 100755 index 000000000..717df6fbd --- /dev/null +++ b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-restart @@ -0,0 +1,16 @@ +#!/bin/bash + +# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one +# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at +# https://securityonion.net/license; you may not use this file except in compliance with the +# Elastic License 2.0. + + + +. /usr/sbin/so-elastic-fleet-common + +{% if grains.role == 'so-heavynode' %} +docker exec so-elastic-agent service elastic-agent restart +{% else %} +service elastic-agent restart +{% endif %} diff --git a/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-start b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-start new file mode 100755 index 000000000..bd4829332 --- /dev/null +++ b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-start @@ -0,0 +1,17 @@ +#!/bin/bash + +# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one +# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at +# https://securityonion.net/license; you may not use this file except in compliance with the +# Elastic License 2.0. + + + +. /usr/sbin/so-elastic-fleet-common + +{% if grains.role == 'so-heavynode' %} +docker exec so-elastic-agent service elastic-agent start +{% else %} +service elastic-agent start +{% endif %} + diff --git a/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-status b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-status new file mode 100755 index 000000000..52a155ab2 --- /dev/null +++ b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-status @@ -0,0 +1,17 @@ +#!/bin/bash + +# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one +# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at +# https://securityonion.net/license; you may not use this file except in compliance with the +# Elastic License 2.0. + + + +. /usr/sbin/so-elastic-fleet-common + +{% if grains.role == 'so-heavynode' %} +docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent status +{% else %} +/bin/elastic-agent status +{% endif %} + diff --git a/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-stop b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-stop new file mode 100755 index 000000000..c974d3e06 --- /dev/null +++ b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-stop @@ -0,0 +1,17 @@ +#!/bin/bash + +# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one +# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at +# https://securityonion.net/license; you may not use this file except in compliance with the +# Elastic License 2.0. + + + +. /usr/sbin/so-elastic-fleet-common + +{% if grains.role == 'so-heavynode' %} +docker exec so-elastic-agent service elastic-agent stop +{% else %} +service elastic-agent stop +{% endif %} + diff --git a/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-version b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-version new file mode 100755 index 000000000..1b152048e --- /dev/null +++ b/salt/elasticfleet/tools/sbin_jinja/so-elastic-agent-version @@ -0,0 +1,17 @@ +#!/bin/bash + +# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one +# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at +# https://securityonion.net/license; you may not use this file except in compliance with the +# Elastic License 2.0. + + + +. /usr/sbin/so-elastic-fleet-common + +{% if grains.role == 'so-heavynode' %} +docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent version +{% else %} +/bin/elastic-agent version +{% endif %} +