pyvider 2025-01-19
Refined rpcplugin client gRPC channel creation with transport-specific
43 files · 1,588+ · 564-

Transport-Specific gRPC Channel Creation

38 files changed
  • client.py Updated client.py (+112/-86 lines)
  • config.py Updated config.py (+1/-1 lines)
  • README.md Updated README.md (+41/-6 lines)
  • 2025-01-19-1108-claude.md Added 2025-01-19-1108-claude.md (+18 lines)
  • greeter Updated greeter (+0/-0 lines)
  • build.sh Updated build.sh (+2/-2 lines)
  • comments.md Updated comments.md (+1/-1 lines)
  • debugging-2025-01-20-1256.md Added debugging-2025-01-20-1256.md (+8 lines)
  • env.sh Updated env.sh (+2/-2 lines)
  • go-kv-example-log.txt Removed go-kv-example-log.txt (-1 lines)
  • kv-client Updated kv-client (+0/-0 lines)
  • kv-data-hello Updated kv-data-hello (+1/-1 lines)
  • kv-go-server Updated kv-go-server (+0/-0 lines)
  • example-kv-go-client-log-client-cert.md Added example-kv-go-client-log-client-cert.md (+48 lines)
  • example-kv-go-client-log-server-cert.txt Added example-kv-go-client-log-server-cert.txt (+48 lines)
  • example-kv-go-client-log.txt Added example-kv-go-client-log.txt (+36 lines)
  • example-py-client-failure-client-cert.md Added example-py-client-failure-client-cert.md (+48 lines)
  • example-py-client-failure-server-cert.md Added example-py-client-failure-server-cert.md (+48 lines)
  • example-py-client-failure.txt Added example-py-client-failure.txt (+176 lines)
  • main.go Updated main.go (+1/-1 lines)
  • main.go Updated main.go (+1/-1 lines)
  • py-client.py Added py-client.py (+153 lines)
  • certutil.go Updated certutil.go (+18/-1 lines)
  • grpc.go Updated grpc.go (+2/-2 lines)
  • interface.go Updated interface.go (+3/-3 lines)
  • test_kv_impl_1638.py Updated test_kv_impl_1638.py (+1/-1 lines)
  • handshake.py Updated handshake.py (+7/-3 lines)
  • go-client-get.txt Removed go-client-get.txt (-137 lines)
  • go-client-put.txt Removed go-client-put.txt (-136 lines)
  • rpcplugin.sublime-project Added rpcplugin.sublime-project (+8 lines)
  • server.py Updated server.py (+13/-6 lines)
  • run_server.py Updated run_server.py (+2/-2 lines)
  • run_tcp_server.py Updated run_tcp_server.py (+4/-4 lines)
  • run_unix_server.py Updated run_unix_server.py (+4/-4 lines)
  • test_handshake_magic_cookie.py Updated test_handshake_magic_cookie.py (+1/-1 lines)
  • x_test_server.py Updated x_test_server.py (+2/-2 lines)
  • tcp.py Updated tcp.py (+6/-6 lines)
  • unix.py Updated unix.py (+5/-5 lines)
  • Split _create_grpc_channel into separate code paths for Unix and TCP transports decouple internal
    48 files
    • README.md
    • output.py
    • priming.md
    • client.py
    • config.py
    • README.md
    • 2025-01-19-1108-claude.md
    • greeter
    • build.sh
    • main.go
    • comments.md
    • debugging-2025-01-20-1256.md
    • env.sh
    • go-kv-example-log.txt
    • kv-client
    • kv-data-hello
    • kv-go-server
    • go-kv-client-automtls-client-cert.txt
    • go-kv-client-automtls-disabled.txt
    • go-kv-client-automtls-log.txt
    • go-kv-client-automtls-server-cert.txt
    • py-client-client-cert.txt
    • py-client-log.txt
    • py-client-server-cert.txt
    • main.go
    • main.go
    • py-client.py
    • certutil.go
    • grpc.go
    • interface.go
    • test_kv_impl_1638.py
    • handshake.py
    • go-client-get.txt
    • go-client-put.txt
    • rpcplugin.sublime-project
    • security.py
    • server.py
    • conftest.py
    • run_server.py
    • run_tcp_server.py
    • run_unix_server.py
    • test_client.py
    • test_client_grpc.py
    • test_handshake_magic_cookie.py
    • test_security.py
    • x_test_server.py
    • tcp.py
    • unix.py
  • Unix path uses ssl_channel_credentials with server cert as root, client key/cert encoded as ASCII, and grpc.ssl_target_name_override set to localhost interface internal
    1 file
    • grpc.ssl_target_name_override
  • TCP path uses similar credential setup with grpc.so_reuseport option interface behavioral
    1 file
    • grpc.so_reuseport
  • Changed method signature to take no arguments (uses instance attributes client_cert_pem, client_key_pem directly) decouple internal
    48 files
    • README.md
    • output.py
    • priming.md
    • client.py
    • config.py
    • README.md
    • 2025-01-19-1108-claude.md
    • greeter
    • build.sh
    • main.go
    • comments.md
    • debugging-2025-01-20-1256.md
    • env.sh
    • go-kv-example-log.txt
    • kv-client
    • kv-data-hello
    • kv-go-server
    • go-kv-client-automtls-client-cert.txt
    • go-kv-client-automtls-disabled.txt
    • go-kv-client-automtls-log.txt
    • go-kv-client-automtls-server-cert.txt
    • py-client-client-cert.txt
    • py-client-log.txt
    • py-client-server-cert.txt
    • main.go
    • main.go
    • py-client.py
    • certutil.go
    • grpc.go
    • interface.go
    • test_kv_impl_1638.py
    • handshake.py
    • go-client-get.txt
    • go-client-put.txt
    • rpcplugin.sublime-project
    • security.py
    • server.py
    • conftest.py
    • run_server.py
    • run_tcp_server.py
    • run_unix_server.py
    • test_client.py
    • test_client_grpc.py
    • test_handshake_magic_cookie.py
    • test_security.py
    • x_test_server.py
    • tcp.py
    • unix.py
  • Removed the intermediate _encode_pem helper function, encoding PEM strings inline decouple internal
    48 files
    • README.md
    • output.py
    • priming.md
    • client.py
    • config.py
    • README.md
    • 2025-01-19-1108-claude.md
    • greeter
    • build.sh
    • main.go
    • comments.md
    • debugging-2025-01-20-1256.md
    • env.sh
    • go-kv-example-log.txt
    • kv-client
    • kv-data-hello
    • kv-go-server
    • go-kv-client-automtls-client-cert.txt
    • go-kv-client-automtls-disabled.txt
    • go-kv-client-automtls-log.txt
    • go-kv-client-automtls-server-cert.txt
    • py-client-client-cert.txt
    • py-client-log.txt
    • py-client-server-cert.txt
    • main.go
    • main.go
    • py-client.py
    • certutil.go
    • grpc.go
    • interface.go
    • test_kv_impl_1638.py
    • handshake.py
    • go-client-get.txt
    • go-client-put.txt
    • rpcplugin.sublime-project
    • security.py
    • server.py
    • conftest.py
    • run_server.py
    • run_tcp_server.py
    • run_unix_server.py
    • test_client.py
    • test_client_grpc.py
    • test_handshake_magic_cookie.py
    • test_security.py
    • x_test_server.py
    • tcp.py
    • unix.py

RPCPluginConfig Singleton

1 file changed
  • config.auto_mtls Updated config.auto_mtls
  • Made RPCPluginConfig a singleton via __new__ with _instance class variable decouple internal
    45 files
    • client.py
    • config.py
    • README.md
    • 2025-01-19-1108-claude.md
    • greeter
    • build.sh
    • main.go
    • comments.md
    • debugging-2025-01-20-1256.md
    • env.sh
    • go-kv-example-log.txt
    • kv-client
    • kv-data-hello
    • kv-go-server
    • go-kv-client-automtls-client-cert.txt
    • go-kv-client-automtls-disabled.txt
    • go-kv-client-automtls-log.txt
    • go-kv-client-automtls-server-cert.txt
    • py-client-client-cert.txt
    • py-client-log.txt
    • py-client-server-cert.txt
    • main.go
    • main.go
    • py-client.py
    • certutil.go
    • grpc.go
    • interface.go
    • test_kv_impl_1638.py
    • handshake.py
    • go-client-get.txt
    • go-client-put.txt
    • rpcplugin.sublime-project
    • security.py
    • server.py
    • conftest.py
    • run_server.py
    • run_tcp_server.py
    • run_unix_server.py
    • test_client.py
    • test_client_grpc.py
    • test_handshake_magic_cookie.py
    • test_security.py
    • x_test_server.py
    • tcp.py
    • unix.py
  • Config now auto-validates on first initialization and skips re-init on subsequent instantiations baseline architectural
    45 files
    • client.py
    • config.py
    • README.md
    • 2025-01-19-1108-claude.md
    • greeter
    • build.sh
    • main.go
    • comments.md
    • debugging-2025-01-20-1256.md
    • env.sh
    • go-kv-example-log.txt
    • kv-client
    • kv-data-hello
    • kv-go-server
    • go-kv-client-automtls-client-cert.txt
    • go-kv-client-automtls-disabled.txt
    • go-kv-client-automtls-log.txt
    • go-kv-client-automtls-server-cert.txt
    • py-client-client-cert.txt
    • py-client-log.txt
    • py-client-server-cert.txt
    • main.go
    • main.go
    • py-client.py
    • certutil.go
    • grpc.go
    • interface.go
    • test_kv_impl_1638.py
    • handshake.py
    • go-client-get.txt
    • go-client-put.txt
    • rpcplugin.sublime-project
    • security.py
    • server.py
    • conftest.py
    • run_server.py
    • run_tcp_server.py
    • run_unix_server.py
    • test_client.py
    • test_client_grpc.py
    • test_handshake_magic_cookie.py
    • test_security.py
    • x_test_server.py
    • tcp.py
    • unix.py
  • Client start() now checks config.auto_mtls before generating certificates baseline internal
    1 file
    • config.auto_mtls
  • Added PLUGIN_SUP environment variable pass-through in client start baseline internal
    45 files
    • client.py
    • config.py
    • README.md
    • 2025-01-19-1108-claude.md
    • greeter
    • build.sh
    • main.go
    • comments.md
    • debugging-2025-01-20-1256.md
    • env.sh
    • go-kv-example-log.txt
    • kv-client
    • kv-data-hello
    • kv-go-server
    • go-kv-client-automtls-client-cert.txt
    • go-kv-client-automtls-disabled.txt
    • go-kv-client-automtls-log.txt
    • go-kv-client-automtls-server-cert.txt
    • py-client-client-cert.txt
    • py-client-log.txt
    • py-client-server-cert.txt
    • main.go
    • main.go
    • py-client.py
    • certutil.go
    • grpc.go
    • interface.go
    • test_kv_impl_1638.py
    • handshake.py
    • go-client-get.txt
    • go-client-put.txt
    • rpcplugin.sublime-project
    • security.py
    • server.py
    • conftest.py
    • run_server.py
    • run_tcp_server.py
    • run_unix_server.py
    • test_client.py
    • test_client_grpc.py
    • test_handshake_magic_cookie.py
    • test_security.py
    • x_test_server.py
    • tcp.py
    • unix.py

Security Module

1 file changed
  • security.py Updated security.py (+390/-147 lines)
  • Renamed generate_rsa_keypair to generate_keypair in security.py decouple internal
    1 file
    • security.py
  • Added raw_base64_to_pem_cert function for converting raw base64 certificate data to PEM format harden errata
    1 file
    • security.py
  • Updated client imports to use new function names instantiate internal
    1 file
    • security.py

Go Examples

1 file changed
  • main.go Updated main.go (+1/-1 lines)
  • Reverted Go client and server examples back to KVGRPCPlugin naming (from KVRPCPlugin) decouple internal
    24 files
    • greeter
    • build.sh
    • main.go
    • comments.md
    • debugging-2025-01-20-1256.md
    • env.sh
    • go-kv-example-log.txt
    • kv-client
    • kv-data-hello
    • kv-go-server
    • go-kv-client-automtls-client-cert.txt
    • go-kv-client-automtls-disabled.txt
    • go-kv-client-automtls-log.txt
    • go-kv-client-automtls-server-cert.txt
    • py-client-client-cert.txt
    • py-client-log.txt
    • py-client-server-cert.txt
    • main.go
    • main.go
    • py-client.py
    • certutil.go
    • grpc.go
    • interface.go
    • test_kv_impl_1638.py
  • Updated certgen/main.go to export PLUGIN_TRANSPORTS='unix,tcp' instead of 'grpc' interface internal
    1 file
    • main.go

Misc: bfiles

3 files changed
  • README.md Added README.md (+240 lines)
  • output.py Updated output.py (+1/-1 lines)
  • priming.md Added priming.md (+135 lines)
  • Commented out “Total Excluded Files” line in src/bfiles/output.py summary generation decouple behavioral
    1 file
    • output.py