Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5f7a98f21c | |||
| 19ed231a31 |
@@ -136,10 +136,7 @@ def _create_alert(rule: dict, event: dict):
|
|||||||
|
|
||||||
|
|
||||||
def seed_default_rules():
|
def seed_default_rules():
|
||||||
"""Insert pre-built admin-ops rule templates if the collection is empty."""
|
"""Upsert pre-built admin-ops rule templates. Safe for concurrent startup."""
|
||||||
if rules_collection.count_documents({}) > 0:
|
|
||||||
return
|
|
||||||
|
|
||||||
defaults = [
|
defaults = [
|
||||||
{
|
{
|
||||||
"name": "Failed Conditional Access",
|
"name": "Failed Conditional Access",
|
||||||
@@ -261,8 +258,17 @@ def seed_default_rules():
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
inserted = 0
|
||||||
|
for rule in defaults:
|
||||||
try:
|
try:
|
||||||
rules_collection.insert_many(defaults)
|
result = rules_collection.replace_one(
|
||||||
logger.info("Default admin-ops rules seeded", count=len(defaults))
|
{"name": rule["name"]},
|
||||||
|
rule,
|
||||||
|
upsert=True,
|
||||||
|
)
|
||||||
|
if result.upserted_id:
|
||||||
|
inserted += 1
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
logger.warning("Failed to seed default rules", error=str(exc))
|
logger.warning("Failed to seed rule", rule=rule["name"], error=str(exc))
|
||||||
|
if inserted:
|
||||||
|
logger.info("Default admin-ops rules seeded", inserted=inserted, total=len(defaults))
|
||||||
|
|||||||
Reference in New Issue
Block a user