pluralsh / plural

Enterprise Kubernetes management, accelerated. 🚀
https://www.plural.sh
Other
1.36k stars 64 forks source link

Add shell uniqueness detection #1243

Closed michaeljguarino closed 1 year ago

michaeljguarino commented 1 year ago

Summary

Some terminal session managers behave strangely when there are too many clients contending for a session, this should add relatively robust checks for that. There are a few cases:

  1. A websocket networks to a running channel process in-cluster, in that case we should detect it already has a wss established and not connect again.
  2. A websocket creates an entirely fresh channel somewhere in-cluster and there's already a live process elsewhere, we can rpc to that node check if its alive, then bail if so.
  3. A websocket creates a fresh channel, but the adjacent process has died. We will detect this by either seeing its node died or an rpc to a live node w/o that process fails to see the process there.

Also added a feature gate like we have for sysbox to test end-to-end

Test Plan

some unit tests, need end to end tests to really verify though

Checklist

stoat-app[bot] commented 1 year ago

Easy and customizable dashboards for your build system. Learn more about Stoat ↗︎

Static Hosting

Name Link Commit Status
api-coverage Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
rtc-coverage Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
core-coverage Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
cron-coverage Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
email-coverage Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
worker-coverage Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
api-test-results Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
graphql-coverage Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
rtc-test-results Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
core-test-results Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
cron-test-results Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
email-test-results Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
worker-test-results Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅
graphql-test-results Visit 3d705a4d101c720442c6c0a1135405ac5dc2f4a5 ✅

Job Runtime

job runtime chart

debug