Skip to content

Examples: 1.1.0 follow-up — broadcast demos, new-feature showcases, deferred items #36

Description

@intech

Context

Connectum 1.1.0 is released — all 15 @connectum/* packages are on npm at 1.1.0. The release-necessary currency pass for the examples (drop stale forward-references, see the companion PRs) is handled separately. This issue tracks the larger, non-release-blocking follow-up: evolving the examples to actually demonstrate the 1.1.0 feature surface.

Version-pin note (important)

The flagship examples pin @connectum/*: "^1.0.0". Under the project's pnpm this resolves to 1.0.0, not 1.1.0 (lowest-direct in-range resolution) — verified empirically (^1.1.0 does resolve to 1.1.0). So any example that adopts a 1.1.0-only API must bump its own pin to ^1.1.0; otherwise the 1.1.0 symbol is simply absent at install time. Flagship examples do not commit a lockfile.

Every item below must be re-verified against the published 1.1.0 (pnpm install → confirm 1.1.0, pnpm buf:generate, pnpm typecheck, pnpm test) — not against pkg.pr.new snapshots.


1. EventBus broadcast / fan-out (uses EventBusOptions.publishes + createBroadcastSubscribers)

Unblocked now that events 1.1.0 is published.

2. New-feature showcases (turn examples into genuine 1.1.0 consumers)

  • createCatalogClient in the car-sharing Temporal workersrc/temporal/clients.ts is an out-of-process caller with no Connectum server that hand-rolls per-service createClient(...); createCatalogClient({ catalog, resolver }) over the existing perServiceEnvResolver removes that boilerplate. (@connectum/core 1.1.0.)
  • public → internal leaf-service migration in car-sharingfleet / billing are marked proto public as a documented workaround; migrate them to the internal marker + createInternalAuthInterceptor + meshIdentityTrust (the example already has the Istio/mTLS story). Pairs with the README currency note about the internal marker. (@connectum/auth 1.1.0.)
  • EventBus.publishes (+ optional strictTopics) in hris — the publisher-only role registers no routes, so publish() falls back to typeName (the silent-wrong-topic case publishes fixes). Set publishes: [...] on the publisher-only branch and assert the resolved topic in e2e; optionally add strictTopics to assert an unresolved topic throws. (@connectum/events 1.1.0.)
  • Adopt the shipped @connectum/auth/testing RS256/JWKS helpers in car-sharingtests/helpers/jwks.ts hand-rolls a local helper on raw jose; replace it with generateRsaTestKeypair / startTestJwksServer / createTestJwtRS256. (@connectum/auth 1.1.0.)

3. Performance

  • OTel OTLP export overhead scenario — PR feat(performance-test-server): add OTel OTLP export overhead scenario #15: mergeable and CI-green, but the runtime claims (collector health, p95 export-overhead numbers) are not exercised by CI — they rest on a local smoke test. Run the docker-compose profile + short k6 pass to verify the numbers before merging. Not 1.1.0-related.

Each change bumps the pin only on the example that uses a 1.1.0 API, re-verifies against published 1.1.0, and commits no lockfile.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:lowNice to havestatus:triageNot yet reviewed by maintainertype:featureNew feature or enhancement request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions