notifications (1/5): proto definitions and generated code#452
notifications (1/5): proto definitions and generated code#452illegalprime wants to merge 1 commit into
Conversation
🔐 Codex Security Review
Review SummaryOverall Risk: HIGH Findings[HIGH] Channel list/response types can expose stored notification secrets
[HIGH] Test/channel config accepts arbitrary outbound targets without validation
[MEDIUM] Channel create/update schema allows invalid or conflicting channel configurations
[MEDIUM] Maintenance windows can be created without required scope/time invariants
[MEDIUM] Notification history page size is unbounded
NotesNo hand-written server handlers, SQL, frontend views, plugin code, Docker files, or infrastructure changes are present in this diff. I did not find cryptostealing/pool-hijack logic in the changed files. The main risk is that the new protobuf contract bakes in unsafe defaults before the RPC implementation lands. Generated by Codex Security Review | |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c64a5c2fd8
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
c64a5c2 to
d032a2d
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d032a2dfba
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Both Codex findings on this PR are resolved downstream in #455 (server layer), not here — they read as open only because Codex reviews this PR's proto diff in isolation:
No change needed on this PR. |
|
codex-connector triage:
|
d032a2d to
7a2ceb2
Compare
flesher
left a comment
There was a problem hiding this comment.
Looks good. Where did we land on for the naming of "Silences" / how is it being reflected in the UI? I thought the general consensus was maintenance windows but forget where it ended up... Regardless we should try to align the api to whatever the UI calls them
|
Great point. Thanks! |
Adds the notifications.proto service definitions (Channel, Rule, Silence, History) and the generated Go (Connect handlers + messages) and TypeScript clients. Generated code only; no behavior is wired up yet. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7a2ceb2 to
cd175c1
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cd175c127b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| MaintenanceWindowScopeKind kind = 1; | ||
| string rule_id = 2; | ||
| string group_id = 3; | ||
| string site_id = 4; |
There was a problem hiding this comment.
Emit site labels before exposing site windows
When a SITE maintenance window is backed by the Grafana/Alertmanager rules in this repo, there is currently no site_id label for the silence to match: the default per-device rules only return organization_id and device_id from SQL and then add static labels like severity, rule_group, and template (server/monitoring/grafana/provisioning/alerting/proto-fleet-rules.yaml:24-31 and :76-81). A window created with this site_id can therefore appear active while offline/temperature alerts for that site keep firing, unless the implementation expands the site to device matchers or the provisioned rules start emitting site_id.
Useful? React with 👍 / 👎.
Stack 1/5
Adds the notifications service definitions and generated clients.
Stack
🤖 Generated with Claude Code