Skip to content

Conversation

@vbotbuildovich
Copy link
Contributor

This PR adds the latest OpenAPI spec for version v25.3.2 of the Redpanda Admin API:

npx doc-tools generate bundle-openapi --tag v25.3.2 --use-admin-major-version --surface admin --out-admin admin/admin-v2.yaml

@coderabbitai
Copy link

coderabbitai bot commented Dec 12, 2025

📝 Walkthrough

Walkthrough

This PR updates the Redpanda Admin API v2 OpenAPI specification to introduce support for SASL/PLAIN authentication. It adds a new PlainConfig schema containing username and password fields, extends AuthenticationConfiguration to include a plainConfiguration branch alongside the existing scramConfiguration option, and introduces new enum variants for ACL pattern types (PATTERN_TYPE_PREFIXED and ACL_PATTERN_PREFIX). Various endpoint descriptions are also refined for consistency and clarity. Metadata timestamps and version information are updated to reflect the latest generation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify that the new PlainConfig schema fields (username, password, passwordSet, passwordSetAt) align with intended PLAIN authentication semantics
  • Confirm the oneOf branching in AuthenticationConfiguration correctly allows either plainConfiguration or scramConfiguration without breaking existing clients
  • Ensure the new enum values (PATTERN_TYPE_PREFIXED and ACL_PATTERN_PREFIX) are properly understood and will integrate with downstream code that consumes these patterns
  • Review description changes to confirm clarity and consistency with the overall API documentation tone

Possibly related PRs

  • Add Admin v2 spec file #29: Directly related as it modifies the same schemas (AuthenticationConfiguration, PlainConfig) and introduces the same enum additions (PATTERN_TYPE_PREFIXED, ACL_PATTERN_PREFIX) to support PLAIN authentication in the Admin API.

Suggested reviewers

  • paulohtb6
  • kbatuigas

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The PR title 'auto-docs: Update Admin API docs for v25.3.2' directly and clearly describes the main change: updating Admin API documentation to version 25.3.2.
Description check ✅ Passed The PR description is directly related to the changeset, explaining that it adds the latest OpenAPI spec for v25.3.2 and includes the generation command used.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch auto-docs/admin-api

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

ℹ️ API content change detected:

No structural change, nothing to display.

Preview documentation

Powered by Bump.sh

@github-actions
Copy link

ℹ️ API content change detected:

No structural change, nothing to display.

Preview documentation

Powered by Bump.sh

@github-actions
Copy link

github-actions bot commented Dec 12, 2025

🤖 API structural change detected:

Modified (5)

  • POST /redpanda.core.admin.v2.ShadowLinkService/CreateShadowLink
    • Content type modified: application/json
      • Property modified: shadowLink
        • Property modified: configurations
          • Property modified: clientOptions
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: shadowLink
          • Property modified: configurations
  • POST /redpanda.core.admin.v2.ShadowLinkService/FailOver
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: shadowLink
          • Property modified: configurations
  • POST /redpanda.core.admin.v2.ShadowLinkService/GetShadowLink
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: shadowLink
          • Property modified: configurations
  • POST /redpanda.core.admin.v2.ShadowLinkService/ListShadowLinks
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: shadowLinks
          • Property modified: configurations
  • POST /redpanda.core.admin.v2.ShadowLinkService/UpdateShadowLink
    • Content type modified: application/json
      • Property modified: shadowLink
        • Property modified: configurations
          • Property modified: clientOptions
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: shadowLink
          • Property modified: configurations

Preview documentation

Powered by Bump.sh

@github-actions
Copy link

ℹ️ API content change detected:

No structural change, nothing to display.

Preview documentation

Powered by Bump.sh

@github-actions
Copy link

ℹ️ API content change detected:

No structural change, nothing to display.

Preview documentation

Powered by Bump.sh

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
admin/admin-v2.yaml (2)

1152-1161: Potential enum ambiguity: PATTERN_TYPE_PREFIX vs PATTERN_TYPE_PREFIXED.
Having both PATTERN_TYPE_PREFIX and PATTERN_TYPE_PREFIXED is easy to misinterpret (are they synonyms, or meaningfully different?). If both are intentional, please add a short description per value (or a note in the enum description) so client authors know which to use.
-->


1882-1892: Potential enum ambiguity: ACL_PATTERN_PREFIXED vs new ACL_PATTERN_PREFIX.
Same concern as PatternType: two “prefix” flavors are unclear without per-value docs. If this is mirroring upstream Kafka semantics or a rename, it’s worth documenting the distinction (or deprecating one) to prevent client misuse.
-->

🧹 Nitpick comments (3)
admin/admin-v2.yaml (3)

506-530: Consider adding a discriminator for AuthenticationConfiguration oneOf (codegen ergonomics).
The wrapper-style oneOf branches (plainConfiguration vs scramConfiguration) are valid, but many generators produce nicer models with an explicit discriminator (and it also reduces ambiguity during deserialization).
-->


1161-1187: SASL/PLAIN credential schema: tighten docs to avoid accidental secret handling.
password is correctly writeOnly, but the description is very minimal; I’d recommend explicitly stating “never returned” and clarifying whether username is required when setting password (currently neither is required). This helps client authors avoid partial/invalid updates and avoids any implication secrets might be echoed.
-->


2077-2112: Docs quality: avoid long single-line summary strings (rendering/readability).
A few summary: lines are now very long and include double spaces, which tends to wrap poorly in rendered docs. Consider keeping summaries short and pushing detail into description (which you already expanded).

-      summary: ListKafkaConnections returns information about the cluster's Kafka  connections, collected and ordered across all brokers.
+      summary: ListKafkaConnections returns information about the cluster's Kafka connections.

-      summary: This operation returns information about a Shadow Topic on a Shadow Link.  A Shadow Topic is a resource created automatically by a Shadow Link.  The  Shadow Topic 'shadows' a topic on a source cluster, mirroring the data  and properties of that topic.
+      summary: Get information about a Shadow Topic on a Shadow Link.

-      summary: This operation returns a list of all Shadow Topics on a Shadow Link and  their status
+      summary: List all Shadow Topics on a Shadow Link and their status
``` -->


Also applies to: 2256-2293, 2331-2366

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used**: CodeRabbit UI

**Review profile**: CHILL

**Plan**: Pro

**Disabled knowledge base sources:**

- Jira integration is disabled by default for public repositories

> You can enable these sources in your CodeRabbit configuration.

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between eecf2775338f2ebede49e36138d9b74592676471 and e7bc3e36ac5db541e36c6d598e40e766ec8a5cb7.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `admin/admin-v2.yaml` (13 hunks)

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🧠 Learnings (2)</summary>

<details>
<summary>📓 Common learnings</summary>

Learnt from: kbatuigas
Repo: redpanda-data/api-docs PR: 40
File: cloud-controlplane/cloud-controlplane.yaml:1733-1738
Timestamp: 2025-11-26T19:18:28.591Z
Learning: For the redpanda-data/api-docs repository, the OpenAPI specification files in cloud-controlplane/ and cloud-dataplane/ are auto-generated from proto source files. Changes to these specs should be made in the upstream proto sources rather than directly editing the generated OpenAPI YAML files.


</details>
<details>
<summary>📚 Learning: 2025-11-26T19:18:28.591Z</summary>

Learnt from: kbatuigas
Repo: redpanda-data/api-docs PR: 40
File: cloud-controlplane/cloud-controlplane.yaml:1733-1738
Timestamp: 2025-11-26T19:18:28.591Z
Learning: For the redpanda-data/api-docs repository, the OpenAPI specification files in cloud-controlplane/ and cloud-dataplane/ are auto-generated from proto source files. Changes to these specs should be made in the upstream proto sources rather than directly editing the generated OpenAPI YAML files.


**Applied to files:**
- `admin/admin-v2.yaml`

</details>

</details>

</details>

<details>
<summary>🔇 Additional comments (3)</summary><blockquote>

<details>
<summary>admin/admin-v2.yaml (3)</summary><blockquote>

`1994-2002`: **Generated metadata update looks consistent.**  
`x-generated-at` and `x-redpanda-core-version: v25.3.2` updates match the PR objective (v25.3.2 regen).  
 -->

---

`2004-2074`: **Operation description tweaks look fine.**  
The updated wording (“returns information…”, “fails over…”) is consistent and clearer; no issues.  
 -->


Also applies to: 2185-2218

---

`1161-1187`: **Please verify enum/value additions and `oneOf` shape align with upstream generator output.**  
Given this file is produced by `doc-tools generate bundle-openapi`, I’d mainly want confirmation that the upstream source (proto/IDL) truly contains `PATTERN_TYPE_PREFIXED` + `ACL_PATTERN_PREFIX` and that codegen consumers handle the `oneOf` structure as intended (or whether a discriminator is supported/expected by the generator).  
 -->


Also applies to: 506-530, 1152-1161, 1882-1892

</blockquote></details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants