grpc-kv-examples
2025-01-22
Initial multi-language gRPC KV repository with mTLS support across 15 languages
169 files · 17,794+ · 504-
Multi-language gRPC client/server implementations
9 files changed
go-kv-client.goGo gRPC client with mTLS certificate loading and server cert fetchinggo-kv-server.goGo gRPC server with full mTLS supportexample-py-server.pyPython gRPC server with structured logging and mTLSexample-py-client.pyPython gRPC client with certificate helper integrationrb-kv-client.rbRuby gRPC client with OpenSSL certificate handlingrb-kv-server.rbRuby gRPC server with mTLS credentialsProgram.csC# gRPC client with custom certificate validationclient.rsRust gRPC client using tonicserver.rsRust gRPC server using tonic
- Created gRPC KV service implementations in 15 languages testing cross-language TLS compatibility
instantiate
architectural
4 files
go-kv-client.goexample-py-server.pyrb-kv-client.rbProgram.cs
- All implementations use a common protobuf definition with Get and Put RPCs
instantiate
architectural
1 file
kv.proto
mTLS certificate infrastructure
5 files changed
gen-certs.shCertificate generation script for RSA and EC curvesec-secp256r1-mtls-client.crtP-256 client certificateec-secp384r1-mtls-server.crtP-384 server certificateec-secp521r1-mtls-client.crtP-521 client certificatersa-2048-mtls-server.crtRSA-2048 server certificate
- Generated mTLS certificates for secp256r1, secp384r1, secp521r1, and RSA-2048 curves
instantiate
behavioral
3 files
gen-certs.shec-secp256r1-mtls-client.crtec-secp521r1-mtls-client.crt
Environment and CI setup
3 files changed
env.shEnvironment setup loading certificates and configuring endpoints per languageprove-grpc-fix.ymlCI workflow using Docker to prove gRPC elliptic curve fix across languagesDockerfileMulti-stage Docker build with all language runtimes for testing
- env.sh loads certificate PEM content into environment variables and sets up per-language aliases
instantiate
internal
1 file
env.sh
- CI workflow builds Docker environment, compiles patched gRPC, and runs cross-language comparison
instantiate
behavioral
2 files
prove-grpc-fix.ymlDockerfile
Documentation and testing scripts
5 files changed
README.mdProject overview and language-specific setup instructionsCOMPARISON-GUIDE.mdGuide for comparing baseline vs patched gRPC behaviorCOMPATIBILITY-MATRIX.mdCross-language TLS compatibility matrixtest-compatibility.shScript for running cross-language compatibility testsfull-compatibility-test.shFull matrix test across all languages and curves