Background
The Go SDK currently supports platform connectivity validation only at client creation time via sdk.WithConnectionValidation(). This calls the internal (unexported) validateHealthyPlatformConnection function, which uses the gRPC health check protocol (grpc.health.v1.Health/Check).
Problem
Consumers like Data Harbor need to validate platform connectivity after SDK creation — specifically for use in Kubernetes readiness probes. Today the only option is to validate during sdk.New(), which means a connectivity failure surfaces as a fatal error in main.go rather than a recoverable readiness check failure.
Proposed Changes Options
- Expose a public
ValidateConnection() method on SDK — surfaces the same logic currently used by WithConnectionValidation() so it can be called on-demand after client creation.
- Expose the health client — make the health client (currently internal, created here) accessible so consumers can use it directly for custom health check flows.
Use case
A downstream service (e.g. Data Harbor) creates the SDK instance once at startup, then uses the exposed health check in its K8s readiness probe to report whether the platform is reachable — allowing the pod to go not-ready and stop receiving traffic rather than crashing outright.
Background
The Go SDK currently supports platform connectivity validation only at client creation time via
sdk.WithConnectionValidation(). This calls the internal (unexported)validateHealthyPlatformConnectionfunction, which uses the gRPC health check protocol (grpc.health.v1.Health/Check).Problem
Consumers like Data Harbor need to validate platform connectivity after SDK creation — specifically for use in Kubernetes readiness probes. Today the only option is to validate during
sdk.New(), which means a connectivity failure surfaces as a fatal error inmain.gorather than a recoverable readiness check failure.Proposed Changes Options
ValidateConnection()method on SDK — surfaces the same logic currently used by WithConnectionValidation() so it can be called on-demand after client creation.Use case
A downstream service (e.g. Data Harbor) creates the SDK instance once at startup, then uses the exposed health check in its K8s readiness probe to report whether the platform is reachable — allowing the pod to go not-ready and stop receiving traffic rather than crashing outright.