-
Notifications
You must be signed in to change notification settings - Fork 40
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
Proxy Nexus's external API out the tech port via wicketd #4224
Conversation
* `config/address` is not changing | ||
* the dropshot server listening at `config/address` is not configured | ||
for TLS |
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.
We could validate these assumptions in code, within the body of /reload-config
? It might be worthwhile to fail-hard in these cases if the error would otherwise be confusing.
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.
I don't think it's super easy to validate http vs https from within the endpoint, but that's maybe okay: the curl invocation itself will fail hard. I added a check that config/address
is not changing in 53e0654
This reverts commit a2759cb3e3d1cbe84481ba93713807d79524a7f8.
69b2305
to
53e0654
Compare
This implements one of the proposed solutions in RFD 431 (which I still need to get back to and refine a bit!):
This is therefore exposing the "true" Nexus API, which still requires TLS, client auth, etc.
Testing this PR
This is currently deployed on
madrid
, and the racklette is set up using dogfood's certs, and I manually tested (and demo'd) it there.I'd be happy to add integration tests, but am not sure what would make sense. I could add a test where I spin up an internal DNS server, seed it with a fake Nexus entry, and ensure that wicketd will proxy connections to that fake Nexus, maybe? Is it worth trying to add tests that Nexus exposes the same API on both the external and "techport" interfaces?