Skip to content

Releases: Snowflake-Labs/sansshell

Make registration of additional RPC services optional

07 Jul 16:36
5bb5e0b
Compare
Choose a tag to compare

Registering channelz/reflection should be optional if using our builder so provide an option and move the registration of these back out to main().

Also fix the way output files are generated so target information is in each one.

Address a small bug where fdbcli wasn't handling closed streams correctly.

Bug fix for deadlock under load

28 Jun 21:32
eb25183
Compare
Choose a tag to compare

Under heavy client load (> 2k targets) the connection between the client and proxy will deadlock as the original client proxy code was simplistic and attempted to mass send before receiving. With a bidi stream we must send and receive enough to prevent queuing as the server side assumes the client is reading responses and will eventually block in this case (which prevents it from taking new connection requests from that client).

v1.8.2

22 Jun 16:15
fd45af1
Compare
Choose a tag to compare

Fix bug with init() in fdb module (accidentally registering the same object twice instead of conf and cli)

v1.8.1: Add debugging support for cert reloads (#139)

21 Jun 21:48
17bc811
Compare
Choose a tag to compare

Add logging/debugging and some correctness around dynamic cert reloading.

Add fdb config service impl and implement missing fdbcli commands

17 Jun 18:25
283fed7
Compare
Choose a tag to compare

Also add some more CI steps for lint and cleanups from that

Minor util updates

31 May 17:30
295fb8c
Compare
Choose a tag to compare

Move code for adding ports to hosts optionally into a util library so it can be reused by other binary implementors.

In general we only want a minimal main() here so booting up your own binary is trivial.

More parallel proxy and new services

27 May 21:03
5d7694c
Compare
Choose a tag to compare

Increase parallelism on the proxy to be completely non-blocking per stream.

In the past requesting N new streams but having one of those streams block on a timeout would backup everything for a minimum of 20s (the default connection timeout). If the overall timeout wasn't that long no work could get done. Now the proxy returns immediately on a new stream request and does all connection work asynchronously. It may still block if client streaming (i.e. Localfile.Write) gets too far ahead of connected clients but as most RPCs are unary this generally isn't a problem.

Link in channelz support so it can be queried if desired.

Remove flag definitions in packages and export vars instead. Then rebind in package main for the commands.

NOTE: Implementors with their own versions of the server/CLI will need to bind the flags to have them work again.

Rework how servers start so it's easy/possible for others to add their owner interceptors to the server. This allows metrics/tracing linkage without forcing a specific implementation.

Add FDB service implementing support for wrapping fdbcli and a definition for editing the config file remotely as well (implementation in next release).

Add rm support in localfile (as Remove)

Minor documentation and CLI cleanups for clarity

v1.5.0: Make sure we include file support for blobs. (#113)

09 May 20:56
cc3a0be
Compare
Choose a tag to compare

Move blob imports into sansshell-server main. It's an example server where-as there's no way to import the services without getting these whether you want them or not.

Also include file support now and adjust the cp command to be able to use it.

v1.4.0: Remove hard coded timeout on context. (#111)

09 May 19:36
6202306
Compare
Choose a tag to compare

Add version RPC and CLI support

Fix bug with hard coded context timeouts in sansshell and healthcheck modules

Add /Process.Kill RPC endpoint and fix CLI IPv6/port bugs

02 May 19:45
c570010
Compare
Choose a tag to compare
Add kill to RPCs in process module (#103)

* Add kill to process to send signals to a given pid.

No support for wildcarding with negative pids/signals (too dangerous)

* Client side of kill

* Integration testing for kill.

shfmt also redid some lines