docs: Terraform shadow link management (DOC-2022) - #1827
Conversation
Adds a Terraform tab to the cloud-gated create and update tab blocks on the Configure Shadowing page, covering the redpanda_shadow_link resource (provider 2.0.0+), the redpanda_secret password pattern, the enable_shadow_linking prerequisite, and the allow_deletion guard. Co-Authored-By: Claude Fable 5 <[email protected]>
✅ Deploy Preview for redpanda-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Feediver1
left a comment
There was a problem hiding this comment.
PR Review (docs-team-standards final pass)
Files reviewed: 1 (setup.adoc — Terraform tabs in the cloud-gated create and update blocks)
Overall assessment: Ready to merge. SME-approved, conflict-free, and every claim traces to verified sources. Disclosure: this is a docs-team self-review of docs-team-authored content — the pass re-verified everything fresh rather than assuming.
What changed since the PR opened
- @gene-redpanda approved — the provider engineer's LGTM retroactively blesses the draft's two judgment calls: pointing at the page's "Replication service permissions" list instead of reproducing the provider example's under-privileged ACLs, and making no Private Link claims.
- The branch is 10 commits behind
beta, butsetup.adocis untouched on beta since the fork — mergeable with no re-merge needed.
Verified fresh
- The
$${secrets.${...}}HCL escape matches the shipped provider example and renders correctly (confirmed in a local cloud-docs cross-build). - The
<<Replication service permissions>>internal anchor exists on the branch; all registry links target live pages (provider v2.0.0+ released). - The update-tab "sends only changed fields" claim is source-verified against the provider's sparse FieldMask implementation.
- Both tabs sit inside existing
ifdef::env-cloud[]regions — the Self-Managed build is untouched.
Impact
- No collision with #1819: it edits
setup.adocat ~line 41; this PR's hunks are at lines 420+ and 906+. Clean in any merge order. - Companion cloud-docs#649 (resource-list bullet + cloud What's New entry) should merge around the 26.2 promotion so the cloud discovery surface lands with the tabs.
- Upstream terraform-provider-redpanda#361 (under-privileged example ACLs) remains open — non-blocking here because the tab points at the docs' permission list, not the example.
What works well
- Teaches the one pattern that matters (secret-backed password, nothing in state) and delegates the full schema to the registry — zero duplicated reference content to go stale.
- Placeholder explanations carry the operational reality: which resources manage the source-side user and ACLs, and where the required permissions live.
- The
allow_deletiondestroy-guard NOTE preempts the most likely support question.
No critical issues, no suggestions. With the SME approval in place, this is merge-ready for the 26.2 window.
🤖 Generated with Claude Code
|
Minor, pre-existing (not from your diff) — since this PR already touches this file, could you fold in a one-line fix? Line 42 of
There's no Console v3.30 — the latest release is v3.9.0 (2026-07-23), so this reads as a version that doesn't exist. It looks like a typo for v3.3.0, which shipped 2025-11-19, right after the shadow-link create wizard and edit support merged (console#2017, #2025, #2030). Suggested: One thing to confirm before you apply it: which capability was this prerequisite gating? If it was meant to cover Schema Registry shadowing specifically, the floor is later than v3.3.x — console#2058 ("support shadowing sr") merged 2025-12-02, after v3.3.2. If you're not sure, I'm happy to take it as a follow-up instead so it doesn't hold up this PR. (Unrelated to this line: the new 26.2 API-mode Schema Registry forms need Console v3.9.0 and a cluster reporting Redpanda 26.2.0. I'm covering that separately in DOC-2335 — no need to add it here.) |
|
Another pass over the Terraform tabs, this time checking the HCL against the provider's shipped schema and source. One thing needs fixing before merge; the rest are suggestions. Critical1.
stringvalidator.RegexMatches(secretNamePattern, "must match ^[A-Z][A-Z0-9_]*$ (uppercase letters, digits, underscores; must start with a letter)")The bullet currently reads "Name for the secret that stores the SASL/SCRAM password" — and the very next bullet gives Suggested: * `<secret-name>`: Name for the secret that stores the SASL/SCRAM password. Must be uppercase, matching `^[A-Z][A-Z0-9_]*$`, for example, `SOURCE_SCRAM_PASSWORD`.Suggestions2. 3. 4. 5. Still open from the earlier reviewThe Console version fix hasn't landed yet — |
micheleRP
left a comment
There was a problem hiding this comment.
please see comments before merging!
Per Michele's review: - Document the uppercase-only constraint on redpanda_secret names (provider validator ^[A-Z][A-Z0-9_]*$), with an example. - Add a Terraform tab to the create-the-secret step pointing forward (the secret is defined with the shadow link), keeping tab selection in sync across the two blocks. - Tie the update tab's replacement behavior back to allow_deletion. - Cross-link Manage cluster secrets for naming/write-only/rotation. - Explain secret_data_version with an inline rotation comment. - Fix the pre-existing Console version typo: v3.30 -> v3.3.0 (the shadow-link Console support floor; the 26.2 SR-shadowing Console requirement is covered separately in DOC-2335). Co-Authored-By: Claude Fable 5 <[email protected]>
|
All feedback applied in
🤖 Generated with Claude Code |
Resolves https://redpandadata.atlassian.net/browse/DOC-2022
Adds Terraform as a management option on the Configure Shadowing page, covering the
redpanda_shadow_linkresource shipped in Redpanda Terraform provider v2.0.0 (PR #343; current release v2.1.2).Changes
redpanda_secret+redpanda_shadow_linkpattern with TLS and SCRAM auth, the${secrets.<name>}password reference (no plaintext in state), placeholder explanations in the page's existing style, and a NOTE covering theenable_shadow_linkingprerequisite (settable viaredpanda_cluster.cluster_configuration.custom_properties_json) and theallow_deletion = truedestroy guard.terraform applysends only changed fields (the provider uses a sparse FieldMask), and that name and cluster IDs are immutable (changes plan a replacement).Both edits are inside existing
ifdef::env-cloud[]regions of the single-sourced page, so they render only in the cloud build; the Self-Managed build is unchanged. The cloud-docs stub picks the content up automatically.Review notes
describe_configs); the tab points at the prerequisites instead. Flagged to the provider team separately.enable_shadow_linking(verified inresource_shadowlink.goCreate()), so the property is framed as a prerequisite, not a validated field.shadow_linkbullet to the Terraform provider resource list.🤖 Generated with Claude Code
Preview pages
Note for reviewers: this preview renders the Self-Managed variant, which is intentionally unchanged (verified: zero Terraform mentions). The new Terraform tabs are inside
ifdef::env-cloud[]regions and render only in the cloud build. Rendering was verified in a local cloud-docs build with the playbook pointed at this branch: both tabs appear in the create and update tab blocks, the HCL example and nested NOTE render cleanly, and no AsciiDoc directives leak.