Docs: Add ADR for Satellite Lifecycle States#269
Docs: Add ADR for Satellite Lifecycle States#269bupd merged 3 commits intocontainer-registry:mainfrom
Conversation
Signed-off-by: bupd <bupdprasanth@gmail.com>
Signed-off-by: bupd <bupdprasanth@gmail.com>
📝 WalkthroughWalkthroughIntroduces a new decision document (ADR 0268) that formally specifies the lifecycle model for Harbor Satellites. Defines four primary states (pending, online, stale, revoked) plus a separate deletion flag, documenting state transitions, validation requirements, onboarding flows, heartbeat responses, and database schema changes needed. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codacy's Analysis Summary3 new issues (≤ 0 issue) Review Pull Request in Codacy →
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@docs/decisions/0268-satellite-lifecycle-states.md`:
- Around line 217-223: The Markdown table rows for the satellite lifecycle
states (rows containing `online`, `stale`, `revoked`, `pending`, `deleted`) use
compact pipe formatting and must be changed to the spaced pipe style required by
MD060; update each table line so there is a space before and after every pipe
delimiter (e.g., `| online | 200 OK | Normal heartbeat acknowledged |`) and
apply the same spacing fix to the other affected table block referenced (rows
with the same state names further down).
- Around line 79-84: The markdown lists under the "Implementation will be
validated by:" section (and the other similar lists later in the same document)
need blank lines before and after each list to satisfy markdown linting; update
the decision text so there is an empty line above the line "Implementation will
be validated by:"'s bulleted block and an empty line after the final bullet, and
apply the same spacing fix to the two other bulleted blocks referenced (the
later lists around the 97-100 and 111-114 areas) so every list is surrounded by
a blank line.
🧹 Nitpick comments (1)
docs/decisions/0268-satellite-lifecycle-states.md (1)
40-45: Reduce repetitive “Good, because …” phrasing.LanguageTool flags repeated sentence starters; vary wording for readability.
✍️ Suggested rewording
-* Good, because operators get clear fleet-wide visibility into satellite health. -* Good, because compromised or decommissioned satellites can be explicitly revoked. -* Good, because terminology aligns with SPIFFE/PKI conventions used by the project. -* Good, because soft delete preserves audit trail without complicating the state machine. -* Good, because distinct HTTP responses (401/403) let the satellite react appropriately per state. +* Benefit: operators get clear fleet-wide visibility into satellite health. +* Also enables explicit revocation of compromised or decommissioned satellites. +* Terminology aligns with SPIFFE/PKI conventions used by the project. +* Soft delete preserves audit trail without complicating the state machine. +* Distinct HTTP responses (401/403) let the satellite react appropriately per state. ... -* Good, because `online` accurately reflects heartbeat-based observation rather than process state. -* Good, because `revoked` aligns with SPIFFE/PKI terminology (you revoke certificates, you revoke identities). -* Good, because deletion as a separate boolean keeps the state machine clean. -* Good, because it maps closely to AWS IoT (PENDING/ACTIVE/INACTIVE/DISABLED). +* `online` reflects heartbeat-based observation rather than process state. +* `revoked` aligns with SPIFFE/PKI terminology (you revoke certificates/identities). +* Deletion as a separate boolean keeps the state machine clean. +* Maps closely to AWS IoT (PENDING/ACTIVE/INACTIVE/DISABLED).Also applies to: 54-58
Summary
pending,online,stale,revokedSummary by cubic
Adds ADR-0268 defining four satellite lifecycle states (pending, online, stale, revoked) with deletion as a separate flag. It documents transitions, onboarding (ZTR/SPIFFE), revoke/re-enable behavior, heartbeat responses, and a validation plan to guide implementation.
Written for commit 49f3c1d. Summary will update on new commits.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.