Skip to content

fix(docs): EC host preflights can include a vendor spec - #4535

Draft
banjoh wants to merge 4 commits into
mainfrom
evansmungai/sc-139698/fix-docs-ec-overview-says-vendors-cannot
Draft

banjoh wants to merge 4 commits into
mainfrom
evansmungai/sc-139698/fix-docs-ec-overview-says-vendors-cannot

Conversation

@banjoh

@banjoh banjoh commented Sep 18, 2026

Copy link
Copy Markdown
Member

Both Embedded Cluster overview pages stated that vendors cannot supply their own host preflight spec. That is wrong on v2 and v3: a kind: HostPreflight resource in the release runs in addition to the default checks.

Correct the limitation to what is actually true (the defaults cannot be modified or removed) and add a section showing how to add custom checks.

When the checks run differs by version, and the pages now say so: v2 runs them on install and node join, v3 also runs them on upgrade. The v3 section additionally documents strict: true, which makes a failed check non-bypassable from both the UI and --ignore-host-preflights.

Preview

🤖 Generated with Claude Code

@banjoh
banjoh requested a review from a team as a code owner September 18, 2026 17:20
@netlify

netlify Bot commented Sep 18, 2026

Copy link
Copy Markdown

Deploy Preview for replicated-docs ready!

Name Link
🔨 Latest commit d0877e7
🔍 Latest deploy log https://app.netlify.com/projects/replicated-docs/deploys/6aafe993bfd4ac000861a67a
😎 Deploy Preview https://deploy-preview-4535--replicated-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Sep 18, 2026

Copy link
Copy Markdown

Deploy Preview for replicated-docs-upgrade ready!

Name Link
🔨 Latest commit d0877e7
🔍 Latest deploy log https://app.netlify.com/projects/replicated-docs-upgrade/deploys/6aafe993977cfc0008aadd5a
😎 Deploy Preview https://deploy-preview-4535--replicated-docs-upgrade.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@replicated-ci replicated-ci added type::docs Improvements or additions to documentation type::feature labels Sep 18, 2026
Both Embedded Cluster overview pages stated that vendors cannot supply
their own host preflight spec. That is wrong on v2 and v3: a
`kind: HostPreflight` resource in the release is merged with the
built-in checks and runs on install and node join.

Correct the limitation to what is actually true (the defaults cannot be
modified or removed) and add a section showing how to add custom checks.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@banjoh
banjoh force-pushed the evansmungai/sc-139698/fix-docs-ec-overview-says-vendors-cannot branch from 918dac2 to 82d8c7e Compare September 18, 2026 17:44
Embedded Cluster v2 honors `strict: true` on host preflight analyzers,
matching v3, so document it the same way on both pages.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@banjoh
banjoh force-pushed the evansmungai/sc-139698/fix-docs-ec-overview-says-vendors-cannot branch from 90e7bff to cd65053 Compare September 18, 2026 18:46

@AmberAlston AmberAlston left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approving. I verified the correction against the code in both repos and it's right. A vendor HostPreflight in the release is merged with the defaults, the defaults can't be modified or removed, and the operations you list per version match what the code does, with v2 running them on install and node join and v3 also on upgrade.

Please don't merge yet. The strict: true sections describe behavior that isn't in a released EC v2.

Two things have to land first:

Neither works alone. I ran the example spec from this PR against both binaries to confirm. On v0.133.0 the JSON output has no strict field at all, so HasStrictFailures() is always false and --ignore-host-preflights still bypasses. On v0.134.1 it comes through.

Once the EC v2 release with both is out, can you add the minimum version to the v2 page? The 2.0.0 versioned docs cover every 2.x, so without it someone on 2.19 reads a guarantee that doesn't hold on their binary.

On the v3 page, strict is accurate for 3.13.0-beta.1, which was built after troubleshoot v0.134.1 shipped. Worth knowing that 3.12.0-beta.1 and earlier were built in August and carry an older preflight binary, so strict silently does nothing there. v3 resolves the version from replicated.app/ping at bundle build time rather than pinning it.

Two optional additions, take or leave:

  • Say to put all custom host checks in a single HostPreflight resource. If a release has two, v3 uses the first match and v2 lets the last file win, with no error either way.
  • On the v3 page, a spec that fails to parse doesn't stop the install. v3 runs the defaults, warns that the vendor host preflights were skipped, and continues.

Separately, I'll open a docs PR for something this surfaced that isn't yours to fix here. Several pages say preflight specs must use v1beta3 on v3, when the rule is really about the Preflight kind. HostPreflight has no v1beta3 and stays v1beta2, which your page gets right, but the surrounding docs imply otherwise.

A release with more than one HostPreflight resource silently uses only
the first on v3, and a spec that fails to parse warns and continues
rather than stopping the install. Both surfaced in review.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@banjoh
banjoh marked this pull request as draft September 20, 2026 14:06
Strict host preflight checks need troubleshoot v0.134.1, which ships in
Embedded Cluster 3.13.0 and 2.19.12. Both versioned pages cover every
release in their major, so name the floor rather than imply it always
worked.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type::docs Improvements or additions to documentation type::feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants