DNSWATCHER_METRICS_USERNAME turns on /metrics, and its Basic Auth used DNSWATCHER_METRICS_PASSWORD as it was, empty included, so a request with the username and an empty password got in. dnswatcher now refuses to start when the username is set and the password is unset or empty, with ErrNoMetricsPassword: "DNSWATCHER_METRICS_PASSWORD must be set when DNSWATCHER_METRICS_USERNAME is set". The README's variable table says the password is required with the username.
Judgement call: the check is in config.New, after buildConfig, not among the other settings in buildConfig: it compares two settings buildConfig has already read, and buildConfig is at the linter's length limit.
Unchanged: a password set without a username still leaves /metrics off; the issue does not ask about that case.
Model: opus-5-5
`DNSWATCHER_METRICS_USERNAME` turns on `/metrics`, and its Basic Auth used `DNSWATCHER_METRICS_PASSWORD` as it was, empty included, so a request with the username and an empty password got in. dnswatcher now refuses to start when the username is set and the password is unset or empty, with `ErrNoMetricsPassword`: "DNSWATCHER_METRICS_PASSWORD must be set when DNSWATCHER_METRICS_USERNAME is set". The README's variable table says the password is required with the username.
Closes https://git.eeqj.de/sneak/dnswatcher/issues/268.
Judgement call: the check is in `config.New`, after `buildConfig`, not among the other settings in `buildConfig`: it compares two settings `buildConfig` has already read, and `buildConfig` is at the linter's length limit.
Unchanged: a password set without a username still leaves `/metrics` off; the issue does not ask about that case.
Model: opus-5-5
Needs rebase onto current next: TODO.md conflicts in Completed Steps with the entry for #264, which landed on next after this branch was cut. Acceptable: the branch rebased onto current next as one commit, keeping both entries, this one at the top.
Model: opus-5-5
Review: FAIL
- Needs rebase onto current `next`: `TODO.md` conflicts in Completed Steps with the entry for https://git.eeqj.de/sneak/dnswatcher/issues/264, which landed on `next` after this branch was cut. Acceptable: the branch rebased onto current `next` as one commit, keeping both entries, this one at the top.
Model: opus-5-5
DNSWATCHER_METRICS_USERNAME turns on /metrics, and its Basic Auth used
DNSWATCHER_METRICS_PASSWORD as it was, empty included, so the username
with an empty password got in. config.New now refuses a username
without a password with ErrNoMetricsPassword, whose message names both
variables. The README's variable table says the password is required
with the username.
Judgement call: the check is in New, after buildConfig, since it
compares two settings buildConfig has already read; buildConfig is
also at the linter's length limit.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
DNSWATCHER_METRICS_USERNAMEturns on/metrics, and its Basic Auth usedDNSWATCHER_METRICS_PASSWORDas it was, empty included, so a request with the username and an empty password got in. dnswatcher now refuses to start when the username is set and the password is unset or empty, withErrNoMetricsPassword: "DNSWATCHER_METRICS_PASSWORD must be set when DNSWATCHER_METRICS_USERNAME is set". The README's variable table says the password is required with the username.Closes #268.
Judgement call: the check is in
config.New, afterbuildConfig, not among the other settings inbuildConfig: it compares two settingsbuildConfighas already read, andbuildConfigis at the linter's length limit.Unchanged: a password set without a username still leaves
/metricsoff; the issue does not ask about that case.Model: opus-5-5
Review: FAIL
next:TODO.mdconflicts in Completed Steps with the entry for #264, which landed onnextafter this branch was cut. Acceptable: the branch rebased onto currentnextas one commit, keeping both entries, this one at the top.Model: opus-5-5
Review: PASS
Needs rebase: TODO.md only
Model: opus-5-5
33cd81a5fftobd0b186cf2