You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(relay-server): stop the report from answering a question it was not asked
Three findings from review, all cases where the report was confident about
something it had not actually checked.
`--env-file` was documented as showing what a deployment will run, but it
resolves the file against the relay binary's defaults. Compose supplies its
own first: a file carrying only PORTAL_URL and UDP_ENABLED=true reported
`udp-transport blocked` while `docker compose up` would give it
MIN_PORT=40000 and enable it. Reimplementing Compose's defaults here would
build a second configuration engine, so the claim is narrowed instead. The
accurate check needs no new code — running the subcommand inside the
container lets Compose build the environment first:
docker compose run --rm -T portal config
That is now what .env.example, the configuration page and the command's own
usage recommend, and a file-scoped report says in its header which of the
two questions it answered.
`discoveryFeature` inspected only the parsed hostname, so
PORTAL_URL=http://relay.example.com reported enabled and portal.NewServer
rejected the same value seconds later — the exact divergence this feature
exists to remove. It now calls utils.NormalizeRelayURL and
utils.NormalizeRelayURLs, the same normalization the server applies, rather
than holding a second opinion about it. Bootstraps are counted after
normalization for the same reason.
loadEnvFile silently skipped any line without an `=`. `DISCOVERY true`
vanished and discovery reported its default with nothing to explain why,
which is the silent misconfiguration this command was written to expose.
Malformed lines now fail with file:line.
Also keys dnsProviderCredential by acme's exported Type* constants rather
than repeating the provider names, so acme stays the one place that decides
what is supported and this map only adds the credential each one needs.
0 commit comments