Skip to content

feat(sentinel): show field-level diff for modified certificates - #302

Merged
thiagoesteves merged 2 commits into
mainfrom
thiagoesteves/feat-certificate-field-diff
Aug 14, 2026
Merged

feat(sentinel): show field-level diff for modified certificates#302
thiagoesteves merged 2 commits into
mainfrom
thiagoesteves/feat-certificate-field-diff

Conversation

@thiagoesteves

Copy link
Copy Markdown
Owner

Summary

  • The certificate diff only reported that a certificate was modified, without showing which sub-fields changed. When an operator changed acme_options or dns_options, the config changes modal showed "Modified: DOMAINS" with the domain list, but no indication of what actually changed.
  • Add a changes map to the modified certificate diff entry, listing each changed field (domains, acme_options, dns_options, importer_options, etc.) with its old and new values.
  • Update the config changes modal to render each changed field with old -> new, following the same pattern used for monitoring changes.

Test plan

  • mix test apps/sentinel/test/config/watcher_test.exs --warnings-as-errors (52 tests)
  • mix test apps/deployex_web/test/deployex_web/live/applications/ --warnings-as-errors (76 tests)
  • mix format --check-formatted
  • mix credo --strict apps/sentinel/lib/sentinel/config/watcher.ex apps/deployex_web/lib/deployex_web/live/components/config_changes_modal.ex

Risk assessment

  • Impact: Operators can now see exactly which certificate sub-fields changed in the config changes modal, instead of just "Modified".
  • Blast radius: Sentinel config watcher diff_certificates and the web config_changes_modal certificate rendering; no apply logic changes.
  • Regression risk: Low - the changes map is additive; existing consumers that only read status and config are unaffected.
  • Rollback: Plain commit revert.

Generated with Devin powered by GLM-5.2 High

The certificate diff only reported that a certificate was modified,
without showing which sub-fields changed. When an operator changed
acme_options or dns_options, the config changes modal showed
"Modified: DOMAINS" with the domain list, but no indication of what
actually changed.

Add a changes map to the modified certificate diff entry, listing each
changed field (domains, acme_options, dns_options, importer_options,
etc.) with its old and new values. Update the config changes modal to
render each changed field with old -> new, following the same pattern
used for monitoring changes.

Risk assessment:
- Impact: operators can now see exactly which certificate sub-fields
  changed in the config changes modal, instead of just "Modified"
- Blast radius: sentinel config watcher diff_certificates and the web
  config_changes_modal certificate rendering; no apply logic changes
- Regression risk: low - the changes map is additive; existing
  consumers that only read status and config are unaffected
- Rollback: plain commit revert
@thiagoesteves
thiagoesteves merged commit 9138342 into main Aug 14, 2026
3 checks passed
@thiagoesteves
thiagoesteves deleted the thiagoesteves/feat-certificate-field-diff branch August 14, 2026 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant