Commit Graph

26 Commits

Author SHA1 Message Date
Josh Patterson f54939b444 Replace inotify pillar watch with postgres audit_settings beacon
The active-push feature detected pillar/settings changes via an inotify
beacon on the manager watching /opt/so/saltstack/local/pillar. Replace
that pillar watch with a custom salt beacon (pillar_db) that polls the
SOC so_soc.audit_settings table on a monotonic id watermark, so changes
made through SOC drive immediate pushes from the database instead of the
files. The suricata/strelka rule inotify watches (and pyinotify) are kept
unchanged, since rule-file edits are not recorded in audit_settings.

- salt/_beacons/pillar_db.py: new beacon. Polls audit_settings via
  `docker exec so-postgres psql` (unix-socket trust auth), tracks the last
  processed id in /opt/so/state/pillar_db_watch.id, seeds to MAX(id) on
  first run (no history replay), and emits one event per new row.
- salt/reactor/push_pillar.sls: consume setting_id/node_id from the beacon
  event instead of a file path. App = first dotted segment of setting_id,
  looked up in pillar_push_map.yaml. Empty node_id -> grid-wide actions as
  is; populated node_id -> the app's state(s) retargeted to that one node.
- salt/manager/files/beacons_pushstate.conf.jinja: drop the pillar inotify
  block, add the pillar_db beacon (interval = push.drain_interval); keep
  the suricata/strelka inotify watches.
- salt/salt/files/reactor_pushstate.conf: map salt/beacon/*/pillar_db/
  audit_settings to push_pillar.sls; remove the pillar inotify reactor
  lines; keep suricata/strelka.

The intent -> so-push-drainer -> orch.push_batch pipeline is unchanged.
Verified end-to-end on a standalone: a grid-wide telegraf.output change
re-applied telegraf fleetwide (container replaced), and a per-host
ntp.config.servers change applied ntp to only that node.
2026-05-29 14:55:13 -04:00
Josh Patterson 0d166ef732 remove trailing slashes 2026-04-30 09:53:00 -04:00
Josh Patterson f7d2994f8b filter temp files 2026-04-30 09:16:22 -04:00
Jason Ertel 2c4d833a5b update 2.4 references to 3 2026-03-05 11:05:19 -05:00
Mike Reeves 759b2ff59e Manage the repos 2024-02-22 10:03:51 -05:00
Mike Reeves 9ca0f586ae Manage the repos 2024-02-21 11:45:02 -05:00
m0duspwnens 8be5082b60 yara scripts 2023-07-07 16:43:26 -04:00
Mike Reeves 3d7f2bc691 Fix annotations and file locations 2023-04-27 13:23:53 -04:00
Mike Reeves 72d01b13ed Modify reposync useragent 2023-03-27 10:12:13 -04:00
Mike Reeves 3756c93518 Change repo download script location 2023-03-23 11:05:48 -04:00
Mike Reeves 02aa8662f7 Saltify it up 2023-03-23 10:52:05 -04:00
m0duspwnens 7cf4e6b03b add rules dir, change so-yar-update to save to local/salt/strelka/rules 2023-03-14 13:59:31 -04:00
m0duspwnens 9d4e1cc149 jinja for strelka 2023-03-13 16:48:21 -04:00
m0duspwnens 58343e39fa 2.4 strelka 2023-03-10 17:32:14 -05:00
Mike Reeves aa7b05d639 small cleanup 2023-02-27 14:12:26 -05:00
Mike Reeves 2bd9dd80e2 Move In Day 2022-09-07 09:06:25 -04:00
Mike Reeves eaeed07fd4 Update acng.conf 2022-02-02 09:12:29 -05:00
Mike Reeves a8c02252dc Update acng.conf 2021-11-08 15:16:05 -05:00
William Wernert 369c0b43f5 Further jinja fixes 2021-04-20 12:55:23 -04:00
William Wernert cd0a115ac7 Fix acng config and don't show changes when proxy string can exist in file 2021-04-20 12:55:00 -04:00
William Wernert c907d416df Set proxy for apt cacher too 2021-04-19 11:27:17 -04:00
Mike Reeves 1a58479f39 Fix acng passthrough 2021-03-29 15:15:34 -04:00
Mike Reeves 8819cc1371 Fix acng to actually cache 2021-03-26 16:01:22 -04:00
m0duspwnens a08d0c8b6f fix issue with schedule being placed in wrong location 2020-10-13 18:24:44 -04:00
Jason Ertel 8f66a27f07 Refactor image repository to a single variable 2020-07-13 18:26:43 -04:00
m0duspwnens 3cf31e2460 https://github.com/Security-Onion-Solutions/securityonion/issues/404 2020-07-09 11:27:06 -04:00