Releases: Snowflake-Labs/sansshell
Convert rpcauth logging back to strict struct parsing
Instead of trying to stringify the json.RawMessage fields pass everything as-is to the logger.
One can write a logr implementation to log it how you want.
Add the ability to know in OPA policy where the request originated from (proxy or direct RPC)
Also remove some debugging logging that crept in.
v1.9.4: Fix ordering for yum commands. (#153)
disablerepo must come first or it'll override any enablerepo you might have just set. Generally people want --disablerepo=* --enablerepo=REPO to just process a specific repo and reversing makes that impossible.
v1.9.3
Plumb the disable repo commands into the client options for packages …
Improve rpcauth logging
If one wants to log in JSON format then converting the rpcauth input to JSON and passing it as a string has the side effect of escaping everything which makes it hard to use.
Instead we'll pull it through a mirror struct to map the 2 JSONRawMessage fields as strings and log. Using a logger such as funcr in JSON mode shows correct JSON now sans the 2 raw fields (which are still escaped strings).
Fix bug with context on grpc objects
This was returning our cached context, not the underlying stream context. Instead keep the logger and create a combined context when requested.
Otherwise peer information in the proxy rpcauth check was incorrect and always showed the calling peer.
Make registration of additional RPC services optional
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
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
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)
Add logging/debugging and some correctness around dynamic cert reloading.
Add fdb config service impl and implement missing fdbcli commands
Also add some more CI steps for lint and cleanups from that