Skip to content

HYPERFLEET-1163 - docs: add v0.2.0 to v1.0.0 upgrade guide#157

Open
kuudori wants to merge 1 commit into
openshift-hyperfleet:mainfrom
kuudori:HYPERFLEET-1163-upgrade-guide
Open

HYPERFLEET-1163 - docs: add v0.2.0 to v1.0.0 upgrade guide#157
kuudori wants to merge 1 commit into
openshift-hyperfleet:mainfrom
kuudori:HYPERFLEET-1163-upgrade-guide

Conversation

@kuudori

@kuudori kuudori commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add comprehensive v0.2.0 → v1.0.0 upgrade guide covering all four areas: configuration, API contract, statuses contract, and operating model
  • 22 breaking changes documented with before/after examples
  • Breaking changes summary table at the top of the document
  • Each section separates "what changed" from "required action"
  • Fresh database requirement stated explicitly

Jira: HYPERFLEET-1163
Depends on: HYPERFLEET-1177 (breaking-change checklist, in Review)

AC Coverage

AC Status
Covers all four areas ✅ Sections 1–4
Separates what changed / required action ✅ Every subsection
Breaking changes summary at top ✅ Summary table
Config before/after examples ✅ YAML blocks
API contract with before/after shapes ✅ JSON blocks
Fresh database statement ✅ §4.1
Adapter team review ⏳ Requesting

Open items

  • Verify completeness against HYPERFLEET-1177 checklist after it merges
  • Confirm Channel/Version endpoint request/response shapes from OpenAPI spec
  • Confirm canonical field name: observed_time vs last_updated_time
  • Adapter team representative review (Angel Marin)

Test plan

  • markdownlint passes (CI will validate)
  • Internal links resolve correctly
  • Before/after examples are accurate per v0.2.0 and v1.0.0 behavior

@openshift-ci

openshift-ci Bot commented Jun 12, 2026

Copy link
Copy Markdown

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

@openshift-ci

openshift-ci Bot commented Jun 12, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign ciaranroche for approval. For more information see the Code Review Process.

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

Details 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

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: cc8dff74-e817-4510-8cfc-ff54d33c8dec

📥 Commits

Reviewing files that changed from the base of the PR and between 6a5372f and 4fcbb5e.

📒 Files selected for processing (1)
  • hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)
🚧 Files skipped from review as they are similar to previous changes (1)
  • hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive HyperFleet v0.2.0 → v1.0.0 upgrade guide covering the required tear-down/redeploy workflow on a fresh database, including exported inventory and post-deploy re-registration steps.
    • Documented breaking changes across configuration and API behavior: tracing env var rename, Sentinel condition updates, JWT default/claim changes, Helm/config schema adjustments, adapter status upserts (POST→PUT), and revised response and deletion semantics (202 + two-phase soft/hard delete with Finalized).
    • Added a post-upgrade verification checklist covering expected endpoints and status/condition names.

Walkthrough

Documentation-only addition: hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md establishes mandatory tear-down-and-redeploy migration path. Covers breaking changes in configuration: tracing env var rename, Sentinel CEL message-decision rules, JWT defaults (disabled by default, configurable identity_claim), GCP entity types with optional condition mapping, Helm paths, mount points, BROKER_TOPIC removal, required adapter broker.type, OCM SDK removal, JSON log format. API contracts: adapter status reporting POST→PUT (upsert), generic Resource response type for Channel/Version/WifConfig, new endpoints, force-delete capability, DELETE semantics return 202 Accepted with two-phase soft-then-hard deletion gated on adapter Finalized=True, cluster cascade-delete NodePools, kind removal from list envelopes, optional condition reason/message. Status model: condition renames (ReadyReconciled, AvailableLastKnownReconciled), new Finalized condition for deletion flows, non-reconcilable resource guidance. Operating model: fresh database mandatory, hardcoded delete policies, startup failure on unknown config fields (Sentinel strict parsing), PgBouncer replaced by generic sidecars. Includes step-by-step procedure and post-upgrade verification checklist.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
Title check ✅ Passed The PR title clearly and specifically summarizes the main change: adding a v0.2.0 to v1.0.0 upgrade guide documentation.
Description check ✅ Passed The description is directly relevant to the changeset, detailing the upgrade guide's scope, structure, acceptance criteria, and open items.
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.
Sec-02: Secrets In Log Output ✅ Passed PR adds markdown documentation only. No Go code or log statements present—SEC-02 requires log statements with secrets, inapplicable to .md files.
No Hardcoded Secrets ✅ Passed Documentation file contains only configuration placeholders and examples: enabled: true, identity_claim: email, baseUrl: http://hyperfleet-api:8000, and CEL expressions. No hardcoded API keys...
No Weak Cryptography ✅ Passed Documentation-only PR with no cryptographic implementations. File contains upgrade guide, configuration examples, and API examples; no code using banned crypto primitives (MD5, DES, RC4, SHA1 for s...
No Injection Vectors ✅ Passed PR adds only documentation (v0.2.0→v1.0.0 upgrade guide, .md file). No code modifications. No SQL string concatenation, exec.Command, template.HTML, or unsafe yaml.Unmarshal patterns detected. Code...
No Privileged Containers ✅ Passed PR contains only documentation (upgrade guide markdown). No Kubernetes manifests, Helm templates, or Dockerfiles present; check not applicable.
No Pii Or Sensitive Data In Logs ✅ Passed PR adds only documentation (v0.2.0→v1.0.0 upgrade guide). No code files or logging statements modified; no PII/sensitive data in logs found.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

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

@kuudori kuudori force-pushed the HYPERFLEET-1163-upgrade-guide branch 5 times, most recently from 7dba78d to e12c5f3 Compare June 15, 2026 15:01
@kuudori kuudori marked this pull request as ready for review June 15, 2026 15:13
@openshift-ci openshift-ci Bot requested review from jsell-rh and vkareh June 15, 2026 15:13

@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 `@hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md`:
- Around line 54-72: The upgrade guide Section 1.2 for Sentinel message_decision
CEL configuration is confusing because it shows inline comments like "# was
Ready" without displaying the actual before/after configuration blocks
side-by-side. This creates a footgun where users with custom configs may copy
the example as-is without realizing they must update condition references from
condition("Ready") to condition("Reconciled"). Replace the current single
example block in lines 60-68 with two clearly labeled YAML blocks: first show
the v0.2.0 custom config that references condition("Ready") and mark it as
broken/wrong for v1.0.0, then show the v1.0.0 corrected config that uses
condition("Reconciled"). Add an explicit warning that old condition("Ready")
references return zero-value conditions and cause silent CEL evaluation
failures.
- Line 277: The adapter status example uses an incorrect JSON field name.
Replace the field name "observed_time" with "last_report_time" to match the
actual AdapterStatus struct definition in the hyperfleet-api package
(pkg/api/adapter_status_types.go). This ensures the documentation example aligns
with the actual API contract. Additionally, verify that the status-guide.md
documentation is also corrected from "last_updated_time" to "last_report_time"
for consistency across all documentation.
🪄 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: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 8b9f602a-b436-4bef-bc06-9c8583cf912e

📥 Commits

Reviewing files that changed from the base of the PR and between 0bb0fc2 and e12c5f3.

📒 Files selected for processing (1)
  • hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)

Comment thread hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md Outdated
Comment thread hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md Outdated
@kuudori kuudori force-pushed the HYPERFLEET-1163-upgrade-guide branch 3 times, most recently from e19cad7 to 6a5372f Compare June 16, 2026 18:05

@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 `@hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md`:
- Around line 84-120: The document references adapter CEL expressions that need
updating from condition("Ready") to condition("Reconciled") in line 90, but
provides no configuration section or examples for operators to locate these
expressions. Add a new subsection after the Sentinel message_decision
configuration examples that documents where adapter CEL configuration is
located, provide a before/after example showing custom adapter precondition and
capture CEL expressions using condition("Ready") versus condition("Reconciled"),
and include the same warning about the zero-value failure mode that applies to
adapter expressions. This guidance should parallel the Sentinel CEL section
(lines 94–114) so operators with custom adapter configurations can identify and
update their expressions.
- Line 46: The deployment sequence guidance in the upgrade guide at lines 46 and
54 warns about deploying components together and specifies the deployment order,
but fails to explicitly require that all adapters be upgraded to v1.0.0 before
any DELETE operations, which will cause deletion flows to hang since v0.2.0
adapters cannot report the Finalized condition type. Update the warning at line
46 to emphasize the adapter version requirement, and modify step 7 (referenced
in the deployment order section at line 54) to explicitly state that all
adapters must be upgraded to v1.0.0 in sequence and that v0.2.0 adapters cannot
report the Finalized condition required for deletion completion, with guidance
to stagger adapter upgrades so all are v1.0.0 before the first DELETE call on a
resource.
🪄 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: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 6225229d-b964-4e39-b0e4-8009da8a335c

📥 Commits

Reviewing files that changed from the base of the PR and between d7cd701 and 6a5372f.

📒 Files selected for processing (1)
  • hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)

Comment thread hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md Outdated
Comment thread hyperfleet/docs/release/v0.2.0-to-v1.0.0-upgrade-guide.md
Operator-facing migration guide covering all 20 breaking changes
across configuration, API contract, statuses, and operating model.

Structure:
- Breaking Changes Summary table for quick scanning
- 9-step upgrade procedure (export inventory, audit DELETE sites,
  confirm auth, deploy, re-register, verify)
- Per-change sections with Action required / If you don't act
- Before/after config examples for every config change
- Post-Upgrade Verification checklist

Key breaking changes documented:
- JWT enabled default flipped to false + OCM SDK removed (auth gap)
- Adapter status POST → PUT (method-only, body unchanged)
- DELETE returns 202 with cascade (was 501 Not Implemented)
- condition("Ready") → condition("Reconciled") (silent zero-value on miss)
- Fresh database required (tear-down-and-redeploy, no data migration)
- Sentinel strict config parsing, mount paths, Helm value restructuring
@kuudori kuudori force-pushed the HYPERFLEET-1163-upgrade-guide branch from 6a5372f to 4fcbb5e Compare June 16, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant