Skip to content

docs: add Monitor architecture decision record#224

Open
somethingwithproof wants to merge 3 commits into
Cacti:developfrom
somethingwithproof:docs/monitor-hexagonal-adr
Open

docs: add Monitor architecture decision record#224
somethingwithproof wants to merge 3 commits into
Cacti:developfrom
somethingwithproof:docs/monitor-hexagonal-adr

Conversation

@somethingwithproof

Copy link
Copy Markdown
Contributor

Summary

Adds the initial proposed ADR for an incremental, PHP 7.4-compatible migration of Monitor toward a hexagonal architecture.

Covers

  • domain, application-service, port, and adapter boundaries
  • separate availability, breach, Threshold trigger, acknowledgement, mute, and delivery state
  • compatibility with existing Cacti 1.2 hooks and host.monitor_* fields
  • a staged migration path with test seams

Impact

Documentation only; no current Monitor behavior changes.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Drop code-quality workflow and php-cs-fixer scaffolding that would
gate merges without a format pass.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
@somethingwithproof somethingwithproof marked this pull request as ready for review July 14, 2026 13:51
Copilot AI review requested due to automatic review settings July 14, 2026 13:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds initial architecture documentation describing a proposed incremental migration of the Monitor plugin toward a hexagonal (ports/adapters) architecture, and links it from the README.

Changes:

  • Add a new ADR documenting proposed hexagonal boundaries, state concepts, and a staged migration plan.
  • Add an “Architecture” section to the README linking to the ADR.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
README.md Adds a link to the new ADR from the project README.
docs/architecture/0001-hexagonal-monitor.md Introduces ADR-0001 describing the proposed target architecture and migration plan.

Comment on lines +37 to +39
Domain code must not access request variables, sessions, globals, SQL, the
filesystem, or Cacti helper functions. New code must remain PHP 7.4-compatible
until Cacti changes its supported baseline.
@TheWitness

TheWitness commented Jul 14, 2026

Copy link
Copy Markdown
Member

The discussion I would like with this one is to deprecate monitor in 1.3 by merging it into develop as we've done with 18+ other plugins. Same with audit.

@TheWitness

Copy link
Copy Markdown
Member

@bmfmancini and @xmacan, comments?

@bmfmancini

Copy link
Copy Markdown
Member

I agree we could merge monitor into core
I think it would be a good base function instead of a plugin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants