Skip to content

DOCS-26: On-premises upgrade process (headless) - #375

Open
jeff-matthews wants to merge 3 commits into
mainfrom
DOCS-26-on-prem-upgrade
Open

DOCS-26: On-premises upgrade process (headless)#375
jeff-matthews wants to merge 3 commits into
mainfrom
DOCS-26-on-prem-upgrade

Conversation

@jeff-matthews

@jeff-matthews jeff-matthews commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

This pull request (PR) adds instructions for upgrading a BloodHound Enterprise on-premises instance as described in DOCS-26 (Aha!).

I tested all instructions on my own v9.4.0 instance. While none of the instructions failed per se, it didn't result in an upgraded instance because a new version has not yet been made available in the portal. See this comment.

I'm also unsure whether it requires downloading a new binary for the target upgrade version.

Staging

We no longer have access to staging builds on Mintlify 😒

But you can build the site locally to preview the changes.

Summary by CodeRabbit

Documentation

  • Added an on-premises BloodHound Enterprise upgrade guide for embedded cluster deployments.
  • Documented prerequisites, health checks, support-bundle creation, upgrade steps, post-upgrade validation, and deployment restart guidance.
  • Added troubleshooting instructions for cluster health, application and controller logs, failed upgrades, and retries.
  • Added the upgrade guide to the documentation navigation.

@jeff-matthews jeff-matthews self-assigned this Aug 3, 2026
@jeff-matthews jeff-matthews added the on-prem Docs related to managing self-hosted BloodHound Enterprise deployments (on-premises) label Aug 3, 2026
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b04d22f6-4af9-4fb1-a9e8-d71ba5db887b

📥 Commits

Reviewing files that changed from the base of the PR and between 3565b64 and 21b34f6.

📒 Files selected for processing (1)
  • docs/on-premises/upgrade.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/on-premises/upgrade.mdx

Walkthrough

Added an On-premises BloodHound Enterprise upgrade page. The guide covers embedded-cluster prerequisites, health checks, headless upgrades, validation, support bundles, troubleshooting, and retries. The page was added to the documentation navigation.

Changes

On-premises upgrade guide

Layer / File(s) Summary
Upgrade preparation and verification
docs/on-premises/upgrade.mdx, docs/docs.json
Defines prerequisites, deployment values, pre-upgrade checks, support-bundle collection, and navigation for the new guide.
Upgrade execution and validation
docs/on-premises/upgrade.mdx
Documents the headless installer workflow and post-upgrade checks for cluster resources, deployment rollout, application version, UI access, and conditional restarts.
Troubleshooting and retry procedures
docs/on-premises/upgrade.mdx
Documents cluster, deployment, and controller diagnostics, support-bundle collection after failure, and upgrade retry steps.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested reviewers: zaton-netizen

Poem

I’m a rabbit with a guide in my paws,
Checking each cluster for errors and flaws.
Upgrade, then validate the pods in a row,
Gather support bundles when troubles show.
Retry with care, and the new page will glow.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the on-premises headless upgrade documentation added by the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DOCS-26-on-prem-upgrade

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

System upgraded. Daemon service restarted.
Downloading new release...
Downloaded release version: 0.0.1
2026/08/03 20:34:24 WARN revision directory already exists, removing revision=pending

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

See my comment in DOCS-26 (Aha!), but I believe that this indicates a new version was not available to upgrade to at the time of testing. I think I need to try again after confirming that a new release is available in the portal under the Release History tab.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/on-premises/upgrade.mdx`:
- Around line 82-95: Update the version-comparison examples in the “Check the
installed version” step and its corresponding post-upgrade example so the
Application version strings differ, while preserving the revision details and
surrounding output. Ensure the examples clearly demonstrate that a successful
upgrade changes the application version rather than only the revision.
- Around line 268-281: Update the “Check the installed version” Step to make the
post-upgrade comparison explicit, clearly identifying the embedded cluster and
BloodHound Enterprise application versions that must be compared with the
corresponding pre-upgrade values. Keep the existing version command and example
output, while matching the clarified comparison guidance from the earlier
upgrade step.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6101eaf7-be84-4d00-84ce-2510df7fc8a0

📥 Commits

Reviewing files that changed from the base of the PR and between 941852a and 3565b64.

📒 Files selected for processing (2)
  • docs/docs.json
  • docs/on-premises/upgrade.mdx

Comment on lines +82 to +95
<Step title="Check the installed version">
Print the embedded cluster and BloodHound Enterprise application versions. Save the output so you can compare it with the post-upgrade version.

```bash
sudo ./bloodhound-enterprise version
```

Expected output looks similar to the following:

```text
Embedded Cluster: 3.0.0-alpha-9 (commit 181fed8, built 2026-01-28_18:35:09)
Application: bloodhound-enterprise 0.0.1 (revision 1, channel sequence 9)
```
</Step>

@coderabbitai coderabbitai Bot Aug 3, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Clarify the version-comparison example.

This step tells the reader to save the pre-upgrade version output to compare with the post-upgrade version. The example output here shows Application: bloodhound-enterprise 0.0.1 (revision 1, channel sequence 9). Compare this to the post-upgrade example at Line 279, which shows Application: bloodhound-enterprise 0.0.1 (revision 2, channel sequence 9). The Application version string is identical in both examples; only revision changes.

Since the entire purpose of this comparison is to confirm the upgrade succeeded, a reader following the example literally may conclude that only the revision value is expected to change, not the version itself, or may mistake an unchanged version for a failed upgrade. Update one of the two example outputs to show a differing application version, so the example clearly demonstrates a successful version change.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/on-premises/upgrade.mdx` around lines 82 - 95, Update the
version-comparison examples in the “Check the installed version” step and its
corresponding post-upgrade example so the Application version strings differ,
while preserving the revision details and surrounding output. Ensure the
examples clearly demonstrate that a successful upgrade changes the application
version rather than only the revision.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Acknowledged. See my comment on line 197. Will keep this open as a reminder to update the "after" version command output.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@jeff-matthews, acknowledged. Keeping the thread open is appropriate until the post-upgrade version output shows a different Application version.

You are interacting with an AI system.

Comment on lines +268 to +281
<Step title="Check the installed version">
Print the embedded cluster and BloodHound Enterprise application versions again and compare them with the version you recorded before the upgrade.

```bash
sudo ./bloodhound-enterprise version
```

Example output:

```text
Embedded Cluster: 3.0.0-alpha-9 (commit 181fed8, built 2026-01-28_18:35:09)
Application: bloodhound-enterprise 0.0.1 (revision 2, channel sequence 9)
```
</Step>

@coderabbitai coderabbitai Bot Aug 3, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Same version-comparison clarity concern as Line 82-95.

This is the corresponding post-upgrade output referenced in the Line 82-95 comment. See that comment for the fix.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/on-premises/upgrade.mdx` around lines 268 - 281, Update the “Check the
installed version” Step to make the post-upgrade comparison explicit, clearly
identifying the embedded cluster and BloodHound Enterprise application versions
that must be compared with the corresponding pre-upgrade values. Keep the
existing version command and example output, while matching the clarified
comparison guidance from the earlier upgrade step.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Acknowledged.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@jeff-matthews, acknowledged. The finding remains open pending the documentation update.

You are interacting with an AI system.


## Upgrade BloodHound Enterprise

Use the BloodHound Enterprise installer binary for the version you want to install. Each embedded cluster binary targets a specific BloodHound Enterprise release.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This text is from an upstream source and implies you must download a new binary specific to the version you want to upgrade to. I need to confirm. If so, requires an extra step before running the upgrade command.


System upgraded. Daemon service restarted.
Downloading new release...
Downloaded release version: 0.0.1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think this is a known issue, but if we don't print the actual BHE version here, it may not be very helpful to include these verification commands and output.

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

Labels

on-prem Docs related to managing self-hosted BloodHound Enterprise deployments (on-premises)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant