OtterMon modern surfaces — architecture lock¶
Short ownership lock for the Drupal sensor package and its modern operator/agent surfaces. Not a roadmap and not a check catalog.
Ownership map¶
ottermon = sensor kernel (system-only; no hard dashboard/tool/orchestration deps)
ottermon_dashboard = Blocks only (no dashboard.dashboard.* config in the module)
ottermon_tool = Plugin/tool/Tool/ (Tool API plugins wrapping kernel services)
recipe_ottermon_baseline = composition (first-10 checks + dashboard.dashboard.ottermon_ops)
OtterMon SaaS = fleet / policy / AI correlation
| Layer | Package / owner | Owns | Must not own |
|---|---|---|---|
| Sensor kernel | drupal/ottermon |
Checks, findings, evidence, queue, PushFinding, Drush, minimal settings | Hard requires on dashboard / tool / orchestration; new bespoke admin SPAs |
| Dashboard surface | ottermon_dashboard submodule |
Placeable Block plugins over kernel services | dashboard.dashboard.* config entities (recipe owns layout) |
| Tool surface | ottermon_tool submodule |
#[Tool] plugins under Plugin/tool/Tool/ |
OtterMon-specific Orchestration code |
| Composition | recipe_ottermon_baseline |
First-10 check set + dashboard.dashboard.ottermon_ops layout |
Expanding the check catalog; SaaS policy |
| Fleet / SaaS | OtterMon platform (external) | Fleet views, severity policy, AI correlation | Site-local sensor kernel behavior |
Same-service rule¶
Block plugins, Tool plugins, Drush commands, and any retained legacy admin routes call the same kernel services. No parallel business logic in controllers, forms, or UI wrappers.
Orchestration¶
Orchestration is external. drupal/orchestration / orchestration_tool publishes Tool API plugins; OtterMon does not ship Orchestration-specific adapters. Once ottermon_tool is enabled, remote iPaaS sees OtterMon ops automatically.
Behaviors (frozen)¶
- Keep:
PushFinding(bridge to OtterMon ingest). - Phase 2 (later): Log / Webhook Behavior actions → ECA on
CheckChangedEvent. Do not grow Behavior product surface in the meantime.
Lab boundary¶
Prove modern surfaces on OttermonPOC only (POCs/OttermonPOC via Composer registry). Do not install OtterMon packages, config, or beads into DEMOs/bluefly.io or other consumer demos.
Check catalog¶
Do not expand the first-10 check set. No check #11 in this package or recipe.
Related product note¶
Fleet-level product framing (ingest, fleet dashboard, rule packs) remains in Products/Drupal-Fleet-Observability.md. This file locks site-local Drupal package surfaces only.