fix(proxy)!: internalize certificate resolver - #128
Merged
Conversation
vishr
force-pushed
the
security/socketless-proxy
branch
from
August 27, 2026 15:32
442176f to
f5d676e
Compare
Make terminating TLS use the resolver defined by the managed Traefik config. Reject custom configs that omit it before host mutation. BREAKING CHANGE: remove proxy.cert_resolver from onebox.run/v1. Terminating TLS uses the managed letsencrypt resolver automatically. Closes #126
vishr
force-pushed
the
fix/internal-certificate-resolver
branch
from
August 27, 2026 16:35
5723f54 to
672108b
Compare
Retain which timer bounded an SSH handshake so the connection-close race cannot turn a caller deadline into a misleading EOF.
vishr
force-pushed
the
fix/internal-certificate-resolver
branch
from
August 27, 2026 17:08
caed035 to
fa09f0b
Compare
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.
What this changes
proxy.cert_resolverfromonebox.run/v1without a fallback or compatibility alias.letsencryptresolver automatically.proxy.managed: falseroutes do not receive the Onebox resolver label.certificatesResolvers.letsencryptonly when the resolved project terminates TLS; passthrough-only projects remain unaffected.Closes #126
Why this is correct
just checkpasses locally: module tidiness, vet, all Go tests, generated documentation verification, Astro diagnostics, and the static site build.Breaking-change policy
No backward-compatibility path is provided. Existing authored projects containing
proxy.cert_resolverare rejected and must remove it. Retained release snapshots containing that field cannot be replayed by this version, so rollback/resume/recovery across this CLI boundary is intentionally unsupported. Operators must finish or abort in-progress deploy recovery and remove the field before upgrading.Custom managed Traefik configurations with terminating TLS must define
certificatesResolvers.letsencryptat upgrade time. Onebox does not retain old resolver aliases or provide a two-phase resolver-name migration. Operator-owned proxies and manually supplied certificates remain outside this contract.Effect on the safety envelope
Resolver selection moves from authored configuration into managed behavior. Managed terminating routes request certificates automatically from the resolver in the Onebox-managed proxy configuration. The SSH follow-up changes only error classification at an existing timeout boundary: caller deadlines remain
context.DeadlineExceeded, while the internal fallback reports the bounded-handshake error.Checklist
just checkpasses locally.just checkverifies this).