feat(schema): add enodia.event.v1 EVE-style event envelope
This commit is contained in:
parent
8d929b50bd
commit
54bd8ff1f4
4 changed files with 111 additions and 0 deletions
|
|
@ -12,6 +12,23 @@ not be removed, renamed, or change type.
|
|||
Schema IDs live in `enodia_sentinel/schemas.py`, and compatibility tests in
|
||||
`tests/test_schema_contracts.py` pin the required v1 fields.
|
||||
|
||||
## `enodia.event.v1`
|
||||
|
||||
Uniform envelope that wraps every emitted record with a typed discriminator.
|
||||
This is the Python↔Go interoperability contract: any implementation must emit
|
||||
the same envelope for the same input. Modeled on Suricata's EVE JSON — the
|
||||
type-specific payload lives under a key named by `event_type`.
|
||||
|
||||
Required fields:
|
||||
|
||||
| Field | Type | Meaning |
|
||||
|---|---|---|
|
||||
| `schema` | string | `enodia.event.v1`. |
|
||||
| `event_type` | string | Discriminator: `alert`, `incident`, or `status` (additive set). |
|
||||
| `timestamp` | string | ISO-8601 emission time. |
|
||||
| `host` | string | Hostname at emission time. |
|
||||
| `<event_type>` | object | Payload, under a key equal to `event_type` (e.g. `alert` holds an `enodia.alert.v1` object). |
|
||||
|
||||
## `enodia.alert.v1`
|
||||
|
||||
Single detection object, used inside alert snapshots and by commands such as
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue