-
Notifications
You must be signed in to change notification settings - Fork 593
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change reporting to TLS #2089
Change reporting to TLS #2089
Conversation
I am doing something that breaks the test TLS connection. Possibly wrapping its accept in a goroutine is freezing it somehow? Not sure why. It receives a TLS client hello, but never responds with its own server hello. The struct indicates that it has not completed any handshakes: |
c3d4e01
to
3135d48
Compare
3135d48
to
507f69c
Compare
Deadlock resolved by manually handshaking. I'm not particularly fond of the connection re-establishment behavior, but not immediately seeing how we can handle it better since we don't get an affirmative "yes, the connection is closed"
|
Licenses differ between commit 17d8820 and base:
|
35f7591
to
945b845
Compare
945b845
to
1f3afa0
Compare
Realized we don't actually need persistent connections and interruption handling: while the test interval is 1 second, and the actual interval does include Dunno if Splunk will even let us keep the idle connection for an hour, but there's no real need to, since reopening it once each hour doesn't raise the same performance issues as doing it once each second, and drastically simplifies testing. This is ready for review, but we want to conduct a practical test where we run an image built from this branch against the actual reporting server to confirm we receive stats via the new listen. I need to get permissions to access that. |
be75dfb
to
ad2fa56
Compare
Changes the reporting system to use TLS instead of UDP. Connections are no longer part of the reporter, and are instead scoped to the individual runs of send(). Add test utility scaffolding to run a TLS server.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, only things before merging:
- if there's no reason NOT to set
MinVersion: tls.VersionTLS13
, then let's just set that - let's make sure we take care of deadlines and write verifications for the tls connection.
Bump min TLS version. Change test certificate variable name. Add an R/W deadline and exit sends early on failure.
#2104 seems quite determined to fail here. Wait for that fix, merge main, and this should pass. |
actually the most recent failure seemed unrelated:
|
The heck, auto-merge merged it despite the failure? Webhook thing looks like we probably need a connection test eventually on the webhook service before trying actually create resources. |
Changes the reporting system to use TLS instead of UDP. Connections are no longer part of the reporter, and are instead scoped to the individual runs of send(). Add test utility scaffolding to run a TLS server.
Changes the reporting system to use TLS instead of UDP. Connections are no longer part of the reporter, and are instead scoped to the individual runs of send(). Add test utility scaffolding to run a TLS server.
Changes the reporting system to use TLS instead of UDP. Connections are no longer part of the reporter, and are instead scoped to the individual runs of send(). Add test utility scaffolding to run a TLS server.
Changes the reporting system to use TLS instead of UDP. Connections are no longer part of the reporter, and are instead scoped to the individual runs of send(). Add test utility scaffolding to run a TLS server.
What this PR does / why we need it:
Makes reporting connections over TLS.
PR Readiness Checklist:
Complete these before marking the PR as
ready to review
:CHANGELOG.md
release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR