feat: Implement MongoDB orchestrator storage with registry, commands, and heartbeats
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Added NullAdvisoryObservationEventTransport for handling advisory observation events. - Created IOrchestratorRegistryStore interface for orchestrator registry operations. - Implemented MongoOrchestratorRegistryStore for MongoDB interactions with orchestrator data. - Defined OrchestratorCommandDocument and OrchestratorCommandRecord for command handling. - Added OrchestratorHeartbeatDocument and OrchestratorHeartbeatRecord for heartbeat tracking. - Created OrchestratorRegistryDocument and OrchestratorRegistryRecord for registry management. - Developed tests for orchestrator collections migration and MongoOrchestratorRegistryStore functionality. - Introduced AirgapImportRequest and AirgapImportValidator for air-gapped VEX bundle imports. - Added incident mode rules sample JSON for notifier configuration.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
[
|
||||
{
|
||||
"ruleId": "incident-start-default",
|
||||
"tenantId": "tenant-a",
|
||||
"name": "Incident mode activated",
|
||||
"enabled": true,
|
||||
"match": {
|
||||
"eventKinds": [
|
||||
"incident.mode.start"
|
||||
]
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"actionId": "incident-start-slack",
|
||||
"channel": "slack-ops",
|
||||
"template": "tmpl-incident-start",
|
||||
"metadata": {
|
||||
"trace_link": "{{payload.links.trace}}",
|
||||
"evidence_link": "{{payload.links.evidence}}",
|
||||
"retention_note": "Retention extended to {{payload.retentionDays}} days while incident mode is active.",
|
||||
"quiet_hours_override": "true",
|
||||
"legal_jurisdiction": "{{payload.legal.jurisdiction}}",
|
||||
"legal_ticket": "{{payload.legal.ticket}}"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ruleId": "incident-stop-default",
|
||||
"tenantId": "tenant-a",
|
||||
"name": "Incident mode cleared",
|
||||
"enabled": true,
|
||||
"match": {
|
||||
"eventKinds": [
|
||||
"incident.mode.stop"
|
||||
]
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"actionId": "incident-stop-email",
|
||||
"channel": "email-compliance",
|
||||
"template": "tmpl-incident-stop",
|
||||
"metadata": {
|
||||
"summary_link": "{{payload.links.timeline}}",
|
||||
"retention_reset_note": "Retention reverts to baseline {{payload.retentionBaselineDays}} days.",
|
||||
"legal_log_path": "{{payload.legal.logPath}}"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user