mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-06 09:12:45 +01:00
55 lines
2.8 KiB
Plaintext
55 lines
2.8 KiB
Plaintext
# 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.
|
|
|
|
{# Managed elasticsearch/soc_elasticsearch.yaml file for adding integration configuration items to UI #}
|
|
{% set managed_integrations = salt['pillar.get']('elasticsearch:managed_integrations', []) %}
|
|
{% if managed_integrations and salt['file.file_exists']('/opt/so/state/esfleet_package_components.json') and salt['file.file_exists']('/opt/so/state/esfleet_component_templates.json') %}
|
|
{% from 'elasticfleet/integration-defaults.map.jinja' import ADDON_INTEGRATION_DEFAULTS %}
|
|
{% set addon_integration_keys = ADDON_INTEGRATION_DEFAULTS.keys() %}
|
|
{% set matched_integration_names = [] %}
|
|
{% for k in addon_integration_keys %}
|
|
{% for i in managed_integrations %}
|
|
{% if i in k %}
|
|
{% do matched_integration_names.append(k) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endfor %}
|
|
{% set es_soc_annotations = '/opt/so/saltstack/default/salt/elasticsearch/soc_elasticsearch.yaml' %}
|
|
{{ es_soc_annotations }}:
|
|
file.serialize:
|
|
- dataset:
|
|
{% set data = salt['file.read'](es_soc_annotations) | load_yaml %}
|
|
{% set es = data.get('elasticsearch', {}) %}
|
|
{% set index_settings = es.get('index_settings', {}) %}
|
|
{% set input = index_settings.get('so-logs', {}) %}
|
|
{% for k in matched_integration_names %}
|
|
{% do index_settings.update({k: input}) %}
|
|
{% endfor %}
|
|
{% for k in addon_integration_keys %}
|
|
{% if k not in matched_integration_names and k in index_settings %}
|
|
{% do index_settings.pop(k) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{{ data }}
|
|
|
|
{# Managed elasticsearch/defaults.yaml file for enabling 'Revert to default' via SOC UI for newly added config items #}
|
|
{% set es_defaults = '/opt/so/saltstack/default/salt/elasticsearch/defaults.yaml' %}
|
|
{{ es_defaults }}:
|
|
file.serialize:
|
|
- dataset:
|
|
{% set data = salt['file.read'](es_defaults) | load_yaml %}
|
|
{% set es = data.get('elasticsearch', {}) %}
|
|
{% set index_settings = es.get('index_settings', {}) %}
|
|
{% for k in matched_integration_names %}
|
|
{% set input = ADDON_INTEGRATION_DEFAULTS[k] %}
|
|
{% do index_settings.update({k: input})%}
|
|
{% endfor %}
|
|
{% for k in addon_integration_keys %}
|
|
{% if k not in matched_integration_names and k in index_settings %}
|
|
{% do index_settings.pop(k) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{{ data }}
|
|
{% endif %} |