Skip to content

Conversation

@bryan-cox
Copy link
Member

@bryan-cox bryan-cox commented Nov 7, 2025

Description

This PR updates the existing self-managed Azure HyperShift documentation to include both "with External DNS" and "without External DNS" approaches in the same guides, eliminating duplication.

What Changed

Instead of creating separate documentation files, the existing guides now include sections for both DNS approaches:

Updated Files

  1. setup-management-cluster.md

    • Added "DNS Management Options" section explaining both approaches
    • Shows both operator installation commands (with/without external-dns flags)
    • Uses tabs/sections to separate the two approaches
    • Marked DNS Zone and Service Principal sections as "External DNS Only"
  2. create-self-managed-azure-cluster.md

    • Updated prerequisites to note External DNS is optional
    • Shows both cluster creation commands (with/without --external-dns-domain flag)
    • Uses tabs to separate the two approaches
    • Explains DNS behavior for each approach
  3. self-managed-azure-index.md

    • Added DNS Management Options comparison table
    • Simplified Phase descriptions to avoid duplication
    • Single path through the guides with clear section markers
  4. mkdocs.yml

    • Updated navigation (no duplicate pages)

Key Benefits

  • No Duplication: Both approaches in one place
  • Easier Maintenance: Single source of truth
  • Clear Choices: Users see both options and can choose
  • Less Complexity: 4 files updated vs. creating 2 new duplicate files

How DNS Options Work

With External DNS

  • Add flags: --external-dns-provider=azure, --external-dns-credentials, --external-dns-domain-filter
  • Add flag to cluster creation: --external-dns-domain
  • Result: Custom DNS names like api-cluster.example.com

Without External DNS

  • Omit external-dns flags from operator installation
  • Omit --external-dns-domain from cluster creation
  • Result: Azure LoadBalancer DNS like abc123.eastus.cloudapp.azure.com

The difference is literally just a few command-line flags - no need for entirely separate guides.

Testing

  • Documentation builds without errors
  • All links work correctly
  • Both approaches clearly documented
  • Manual review of rendered docs

Related Issues

Addresses the need for simpler self-managed Azure setup documentation without requiring External DNS configuration, while avoiding documentation duplication.

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 7, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 7, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 7, 2025

Walkthrough

Documentation restructuring of three Azure how-to guides to present DNS configuration options as branching paths. Changes introduce "With External DNS" and "Without External DNS" scenarios across cluster creation, management setup, and the index page, replacing single-path instructions with dual-path approaches and comparison tables.

Changes

Cohort / File(s) Change Summary
Azure DNS Configuration Restructuring
docs/content/how-to/azure/create-self-managed-azure-cluster.md, docs/content/how-to/azure/self-managed-azure-index.md, docs/content/how-to/azure/setup-management-cluster.md
Restructured three guides to present dual-path DNS options (With/Without External DNS). Added new sections for DNS management options, comparison tables, and conditional prerequisites. Replaced single cluster-creation and operator-installation flows with branching workflows showing command examples, flags, and validation steps for both DNS scenarios. Updated next steps and verification procedures to reference both approaches.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify command accuracy and flags correctness in both "With External DNS" and "Without External DNS" paths across all three files
  • Validate DNS zone configuration warnings and conditional guidance for accuracy
  • Confirm comparison table content and DNS results descriptions are accurate
  • Check cross-file consistency and that all internal cross-references/links between the dual paths are correctly maintained
  • Ensure no content duplication or inconsistencies across the restructured sections
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

@openshift-ci openshift-ci bot added area/cli Indicates the PR includes changes for CLI area/documentation Indicates the PR includes changes for documentation labels Nov 7, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 7, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bryan-cox

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added area/hypershift-operator Indicates the PR includes changes for the hypershift operator and API - outside an OCP release approved Indicates a PR has been approved by an approver from all required OWNERS files. and removed do-not-merge/needs-area labels Nov 7, 2025
@bryan-cox bryan-cox force-pushed the docs-self-managed-azure-without-external-dns branch 2 times, most recently from 501d7b4 to 0d747ce Compare November 7, 2025 14:51
Update existing self-managed Azure documentation to include both
"with External DNS" and "without External DNS" approaches in the
same guides, eliminating duplication.

Changes:
- Updated setup-management-cluster.md to show both operator installation methods
- Updated create-self-managed-azure-cluster.md to show cluster creation with/without --external-dns-domain
- Updated self-managed-azure-index.md to explain DNS options without duplication
- Removed duplicate standalone files for "without External DNS"

The consolidated approach makes it clearer that both DNS options are
supported and reduces documentation maintenance burden.

Signed-off-by: Bryan Cox <[email protected]>
Commit-Message-Assisted-by: Claude (via Claude Code)
@bryan-cox bryan-cox force-pushed the docs-self-managed-azure-without-external-dns branch from 0d747ce to 2905931 Compare November 7, 2025 14:58
@bryan-cox bryan-cox changed the title docs(azure): add self-managed Azure setup without external DNS NO-JIRA: docs(azure): add self-managed Azure setup without external DNS Nov 7, 2025
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Nov 7, 2025
@openshift-ci-robot
Copy link

@bryan-cox: This pull request explicitly references no jira issue.

In response to this:

Description

This PR updates the existing self-managed Azure HyperShift documentation to include both "with External DNS" and "without External DNS" approaches in the same guides, eliminating duplication.

What Changed

Instead of creating separate documentation files, the existing guides now include sections for both DNS approaches:

Updated Files

  1. setup-management-cluster.md
  • Added "DNS Management Options" section explaining both approaches
  • Shows both operator installation commands (with/without external-dns flags)
  • Uses tabs/sections to separate the two approaches
  • Marked DNS Zone and Service Principal sections as "External DNS Only"
  1. create-self-managed-azure-cluster.md
  • Updated prerequisites to note External DNS is optional
  • Shows both cluster creation commands (with/without --external-dns-domain flag)
  • Uses tabs to separate the two approaches
  • Explains DNS behavior for each approach
  1. self-managed-azure-index.md
  • Added DNS Management Options comparison table
  • Simplified Phase descriptions to avoid duplication
  • Single path through the guides with clear section markers
  1. mkdocs.yml
  • Updated navigation (no duplicate pages)

Key Benefits

  • No Duplication: Both approaches in one place
  • Easier Maintenance: Single source of truth
  • Clear Choices: Users see both options and can choose
  • Less Complexity: 4 files updated vs. creating 2 new duplicate files

How DNS Options Work

With External DNS

  • Add flags: --external-dns-provider=azure, --external-dns-credentials, --external-dns-domain-filter
  • Add flag to cluster creation: --external-dns-domain
  • Result: Custom DNS names like api-cluster.example.com

Without External DNS

  • Omit external-dns flags from operator installation
  • Omit --external-dns-domain from cluster creation
  • Result: Azure LoadBalancer DNS like abc123.eastus.cloudapp.azure.com

The difference is literally just a few command-line flags - no need for entirely separate guides.

Testing

  • Documentation builds without errors
  • All links work correctly
  • Both approaches clearly documented
  • Manual review of rendered docs

Related Issues

Addresses the need for simpler self-managed Azure setup documentation without requiring External DNS configuration, while avoiding documentation duplication.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@bryan-cox
Copy link
Member Author

/auto-cc

@openshift-ci openshift-ci bot requested review from jparrill and muraee November 7, 2025 18:43
@bryan-cox bryan-cox marked this pull request as ready for review November 7, 2025 18:49
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 7, 2025
@openshift-ci openshift-ci bot requested review from devguyio and sjenning November 7, 2025 18:49
Copy link
Contributor

@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

🧹 Nitpick comments (1)
docs/content/how-to/azure/create-self-managed-azure-cluster.md (1)

21-24: Prerequisite clarity: differentiate optional configuration from optional component.

Line 24 states "Optional: External DNS configured" which conflates optional component availability with optional setup. Consider rephrasing to: "Optional: External DNS can be configured for automatic DNS management" or similar to clarify that External DNS itself is the optional choice, not just its configuration state.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between e5d781f and 2905931.

📒 Files selected for processing (3)
  • docs/content/how-to/azure/create-self-managed-azure-cluster.md (2 hunks)
  • docs/content/how-to/azure/self-managed-azure-index.md (6 hunks)
  • docs/content/how-to/azure/setup-management-cluster.md (3 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • docs/content/how-to/azure/create-self-managed-azure-cluster.md
  • docs/content/how-to/azure/self-managed-azure-index.md
  • docs/content/how-to/azure/setup-management-cluster.md
🪛 LanguageTool
docs/content/how-to/azure/setup-management-cluster.md

[style] ~196-~196: Using many exclamation marks might seem excessive (in this case: 21 exclamation marks for a text that’s 2658 characters long)
Context: ...T} \ --limit-crd-install Azure ``` !!! tip "Custom HyperShift Image" Add ...

(EN_EXCESSIVE_EXCLAMATION)

🪛 markdownlint-cli2 (0.18.1)
docs/content/how-to/azure/self-managed-azure-index.md

106-106: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


130-130: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


131-131: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

docs/content/how-to/azure/setup-management-cluster.md

219-219: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)


237-237: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)

🔇 Additional comments (6)
docs/content/how-to/azure/create-self-managed-azure-cluster.md (1)

119-202: Excellent dual-path structure with clear branching for DNS choices.

The tabbed "With External DNS" and "Without External DNS" sections cleanly present the two approaches with properly differentiated commands and DNS behavior explanations. The distinction is immediately apparent (presence/absence of --external-dns-domain flag), and post-creation DNS results are explained concisely for each path. Users can easily follow the section matching their setup.

docs/content/how-to/azure/self-managed-azure-index.md (2)

28-45: DNS Management Options section effectively frames dual approaches for users.

The comparison table (lines 32–38) clearly contrasts With/Without External DNS across use case, DNS naming, complexity, and management. The tip (lines 39–44) provides concrete guidance on section selection. This context upfront helps users choose their path before diving into setup details.


70-96: Phase descriptions consistently reference both DNS approaches.

The updates to Phase 2 (line 70: "optional External DNS configuration") and Phase 3 (line 96: "Includes both DNS approaches") align well with the dual-path architecture. Users understand from the index that both options are documented in the linked guides.

docs/content/how-to/azure/setup-management-cluster.md (3)

9-27: DNS Management Options section with conditional guidance sets clear expectations.

The tip (lines 13–27) explicitly maps each DNS approach to corresponding setup steps, helping users select and follow the correct path. "External DNS Only" warnings in subsequent sections (lines 38–40, 94–96) with skip-to links prevent users from getting stuck in irrelevant sections.


147-209: Dual operator installation paths clearly differentiate flags and validation.

The "With External DNS" (lines 151–181) and "Without External DNS" (lines 182–208) subsections make the configuration differences explicit:

  • External DNS path includes --external-dns-provider=azure, --external-dns-credentials, and --external-dns-domain-filter flags
  • Non-External-DNS path omits these, resulting in simplified setup

Verification steps (lines 214–235) use tabs to show expected output differences, aligning with actual deployment behavior. This clarity reduces configuration errors.


36-145: External DNS sections are logically organized with clear prerequisites and warnings.

Placing DNS Zone Configuration before the service principal setup, and marking both "(External DNS Only)" with warnings, guides users to skip them if not using External DNS. The warnings link to the non-External-DNS operator installation path, preventing navigation confusion.

@muraee
Copy link
Contributor

muraee commented Nov 10, 2025

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 10, 2025
@bryan-cox
Copy link
Member Author

/verified by @bryan-cox

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Nov 10, 2025
@openshift-ci-robot
Copy link

@bryan-cox: This PR has been marked as verified by @bryan-cox.

In response to this:

/verified by @bryan-cox

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 10, 2025

@bryan-cox: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 426c1fc into openshift:main Nov 10, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/cli Indicates the PR includes changes for CLI area/documentation Indicates the PR includes changes for documentation area/hypershift-operator Indicates the PR includes changes for the hypershift operator and API - outside an OCP release jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants