Conversation
…debounce)
Three post-v2.0.0 fixes bundled into one coherent "durability" patch.
- Notifier config secrets (bot_token, webhook_url, Webhook headers, SMTP
password) are now SecretString, so a format!("{:?}", config) or a
tracing context carrying the parsed config renders [REDACTED] instead
of leaking the secret. Regression-guard test
notifier_config_debug_never_leaks_secrets runs canaries through each
notifier config's Debug output.
- The migration error emitted when a v1.x config is loaded against v2.x
now leads with a human-readable incompatibility line, includes the
before/after YAML diff, a direct link to MIGRATION.md, and a rollback
hint.
- valerter_vl_source_up gauge is now debounced to 3 consecutive failures
before flipping to 0, via VL_SOURCE_UP_FAILURE_THRESHOLD. Transient
5xx / EOF / timeout no longer page. Flip back to 1 on any single
success, counter resets.
No breaking changes. No new features. Dashboards and alerts are
unchanged (the gauge contract for a persistently-down source is
identical).
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Post-v2.0.0 hardening patch. Three focused fixes, no breaking changes, no new features.
SecretStringnow wraps every notifier config secret (bot_token,webhook_url, webhookheaders, SMTPpassword). ADebugdump of the parsed config renders[REDACTED]rather than leaking the token. Guarded by a canary regression test.victorialogs.urlconfig against v2.x now emits an actionable error: plain-English incompatibility line, YAML before/after, directMIGRATION.mdlink, rollback hint.valerter_vl_source_upgauge is debounced. Three consecutive failures (HTTP error, connection error, or mid-stream EOF) are required before the gauge flips to0. Transient hiccups no longer page. Any single success resets the counter.Threshold is fixed at 3 (not configurable) to keep the contract simple; operators wanting a different window can use Prometheus
for:on their alert rule.Test plan
cargo fmt --checkcargo clippy --all-targets -- -D warningscargo test(556 tests pass)notifier_config_debug_never_leaks_secretsasserts no canary secret surfaces throughDebugfor Telegram / Mattermost / Webhook / Email configsshould_report_source_down_debounces_until_thresholdasserts the gauge-flip gate returnsfalsebelow the threshold andtrueat/above itRefs deferred-work items D-22-1, D-doc-1, D-vl-obs-1.