Skip to content

docs(kafka): polish ExternallyOwned() section (follow-up to #3062)#3065

Merged
jeremydmiller merged 1 commit into
mainfrom
docs-3062-externally-owned-followup
Jun 10, 2026
Merged

docs(kafka): polish ExternallyOwned() section (follow-up to #3062)#3065
jeremydmiller merged 1 commit into
mainfrom
docs-3062-externally-owned-followup

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

Follow-up to the docs added in #3062, touching only docs/guide/messaging/transports/kafka.md (+7, -1).

What this PR adds

Three focused improvements to the new "Externally-Owned Topics" section:

  1. Version <Badge> on the heading — every other section added to this file (5.16, 5.17, 5.18, 5.22, 5.27, 6.0, …) carries one; the new section was missing it. Set to 6.7 as the likely next-minor release that will include Add ExternallyOwned() for Kafka topics to skip auto-provisioning and teardown #3062; happy to retarget to whatever you'd actually like to ship this under — one-word edit.

  2. Cross-reference to the Topic Creation Options section just above. Specification() / TopicCreation() (for topics you do own) and ExternallyOwned() (for topics you don't) are the two ends of the same spectrum — the section above already documents the owned side, so a one-sentence pointer ties them together.

  3. ::: tip callout about resources checkKafkaTopic.CheckAsync is not skipped for externally-owned topics. It sends a small "ping" Produce probe to verify reachability, which has observable consequences (requires Produce access on every checked topic; can land a probe message on a topic you don't fully own). The transport-level KafkaUsage.ConsumeOnly is the only existing escape hatch. Worth a sentence so users running resources check aren't surprised.

Whether CheckAsync should skip IsExternallyOwned topics is a separate question — I'd be happy to file that as a small follow-up issue if you'd like. Not changing the behaviour in this PR.

Why no mdsnippets conversion

kafka.md consistently uses inline code blocks rather than mdsnippets (the convention in sagas.md, command-line.md, validation.md, etc.). Converting just this one section would create an inconsistency within the file; converting the whole file is its own (much larger) project. Out of scope here.

🤖 Generated with Claude Code

Three small follow-ups to the docs added in #3062:

- Add the version Badge (6.7) on the section heading, matching the
  convention every other recent section in this file uses.
- Cross-reference the "Topic Creation Options" section just above so
  Specification() / TopicCreation() / ExternallyOwned() are positioned
  as the same-spectrum APIs they are.
- Document that 'dotnet run -- resources check' is NOT skipped for
  externally-owned topics — CheckAsync sends a Produce probe to verify
  each topic, which has an observable consequence users should know
  before running the command against a host with externally-owned
  endpoints.

No API changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jeremydmiller jeremydmiller merged commit 6c9fef7 into main Jun 10, 2026
23 checks passed
This was referenced Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant