Skip to content

API v3alpha: documentation, conformance, and final hardening #5485

Description

@siavashs

Parent: #5450

Summary

Track cross-service documentation, conformance, load testing, and final hardening for the experimental v3alpha ConnectRPC API.

Service-specific behavior remains in each service issue. This issue owns the common user-facing guidance and final matrix proving that the delivered service set behaves consistently.

Documentation

Publish generated-client and command-line examples for:

  • Connect.
  • Connect HTTP GET for side-effect-free methods.
  • gRPC-Web.
  • Native gRPC and grpcurl.
  • Plaintext h2c and configured TLS.
  • Root and non-root --web.route-prefix deployments.
  • Health and reflection discovery.
  • Matchers and OR-of-AND matcher sets.
  • Pagination tokens and live-view limitations.
  • Structured validation and required-feature errors.
  • Capability flags and API v2 limitations.
  • Watch initial snapshots, snapshot-complete markers, overflow, resynchronization, and node-local cursor scope.

Document that API v2 remains mounted and identify every enabled v3alpha capability that can create state v2 cannot faithfully represent.

Conformance matrix

Maintain coverage across every registered service and applicable transport for:

  • Handler registration, health, and reflection.
  • Connect, gRPC-Web, and native gRPC.
  • H2c and configured TLS.
  • Root and non-root route prefixes.
  • Configuration reload.
  • HA reads and mutation merge where applicable.
  • Feature-disabled and feature-enabled behavior.
  • API v1 deprecation and API v2 coexistence.
  • Pagination and structured errors.
  • Streaming cancellation, lifetime, overflow, and reconnect behavior.

Load and race coverage

Add scenarios for:

  • Unary admission saturation.
  • Slow request uploads.
  • Concurrent list pagination over changing stores.
  • Many simultaneous watchers.
  • Slow subscribers.
  • Queue overflow and resynchronization.
  • Cancellation storms.
  • Provider, dispatcher, silence-store, reload, and notification-pipeline lock isolation.

Delivery hygiene

  • Keep generated protobuf and Connect output reproducible.
  • Commit generated code only with corresponding proto source changes.
  • Add CHANGELOG.md entries with each user-visible stage.
  • Run formatting, lint, short tests, full tests, and relevant race suites before finalizing each service.

Acceptance criteria

  • Every published service has generated-client examples and transport documentation.
  • Route-prefix, h2c/TLS, health, and reflection behavior is documented.
  • Pagination, structured errors, feature flags, v2 limitations, and watch resync are documented.
  • The service/transport/feature conformance matrix passes.
  • Load and race coverage proves slow clients cannot block API v2 or internal hot paths.
  • A second protobuf generation run produces no diff.
  • make common-format, make lint, make test-short, and full make test pass for the completed API surface.
  • Any deferred alpha capabilities are listed with rationale rather than implied complete.

Related child issues

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions