[Serve] HTTPS Support
Support HTTPS (SSL) Certificate on SkyServe Load Balancer.
Resolves (partially) #3198 . This PR only add TLS on load balancer - still need to figure out how to encrypt between LB and replica. #3458 might help this situation.
Tested (run the relevant ones):
- [x] Code formatting:
bash format.sh - [x] Any manual or new tests for this PR (please specify below)
- [x] The example in this PR
- [x] All Sky Serve smoke tests:
pytest tests/test_smoke.py --serve - [x] Relevant individual smoke tests:
pytest tests/test_smoke.py::test_skyserve_https - [ ] Backward compatibility tests:
bash tests/backward_comaptibility_tests.sh
Revamping this as a user is requesting the feature. Based on our previous discussion I disabled the update of the SSL, as it is not likely to update this - the most possible situation is the ssl file is not working and thus the service is failed anyway, so it should be fine to let users to restart the service.
~~TODO: Remove http:// schema in smoke test.~~
Done!
All Sky Serve smoke test passed and this is ready for another look @Michaelvll !
Thanks for adding the example @cblmemo! Left several comments. Could we also add a smoke test for the HTTPS support?
We should also add a doc for this in another PR.
Also, does this mean the communication between load balancer and replicas is still going through non-secured HTTP, which might be fine for now, but would be good to mention it in comments or the doc.
Doc added in #3972
@Michaelvll All comments resolved and now running the smoke test. PTAL agin!
HTTPS smoke test passed!
@Michaelvll PLAT, thx!
Blocked by #4566. With that PR this passed all smoke tests.
/smoke-test serve
/smoke-test serve
/smote-test serve::test_skyserve_https
/smoke-test serve
@zpoint , do you know the command to trigger one single smoke test?
The failed smoke test passed independently. Merging now
@zpoint , do you know the command to trigger one single smoke test?
Not supported now. I think it’s useful and will add a PR to support it. I’ll let you know once it’s done.