umbrella: gateway lifecycle, runtime packaging, and Tailscale ingress - #60
umbrella: gateway lifecycle, runtime packaging, and Tailscale ingress#60hannesrudolph wants to merge 12 commits into
Conversation
87db572 to
b03511e
Compare
a9be06b to
c630263
Compare
4d8d245 to
795543f
Compare
795543f to
5c82a19
Compare
1d86314 to
cd10bdb
Compare
|
Codex review: found issues before merge. Reviewed August 21, 2026, 3:21 PM ET / 19:21 UTC. ClawSweeper reviewWhat this changesThis draft combines safer gateway lifecycle handling, local runtime companion packaging, and automatic migration of named Tailscale Service routes through an OCM identity proxy. Merge readiness⛔ Blocked by patch quality or review findings - 14 items remain Keep this member-authored draft open only as provenance: its lifecycle and packaging work is now split into focused PRs, while the remaining automatic ingress migration has four unresolved P1 blockers. Priority: P0 Review scores
Verification
How this fits togetherOCM upgrades and supervises local OpenClaw gateway environments. This branch changes runtime assembly and gateway lifecycle, then adds an upgrade-time path that rewrites Tailscale routing and gateway authentication. flowchart LR
A[Upgrade request] --> B[OCM upgrade transaction]
B --> C[Gateway runtime and config]
B --> D[Ingress migration decision]
D --> E[Identity proxy]
E --> F[Tailscale Service route]
F --> C
Decision needed
Why: This is a new authentication, routing, and administrative-authorization policy, not a mechanical repair that can be selected safely by review automation. Before merge
Findings
Agent review detailsSecurityNeeds attention: The new ingress path creates a forgeable local authentication boundary and automatically broadens administrative authorization. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Keep this branch as analysis only, review #102 and #103 independently, and require a separately approved ingress design with explicit lifecycle ownership and a non-forgeable trust boundary. Do we have a high-confidence way to reproduce the issue? Yes, from source: a mixed Service, a second rewrite failure, or a local loopback caller with forged forwarded headers follows directly through the changed code; no real Tailscale setup was run in this read-only review. Is this the best way to solve the issue? No: splitting lifecycle and packaging work is safer, and automatic ingress migration needs an explicit security and lifecycle contract before implementation. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning high; reviewed against 768714ae3491. LabelsLabel justifications:
EvidenceSecurity concerns:
What I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (9 earlier review cycles; latest 8 shown)
|
558d6aa to
6ee4de4
Compare
611b1a2 to
8a3d257
Compare
Related: #102
Related: #103
Additional instructions
MUST: Keep Allow edits from maintainers enabled for this PR so maintainers
can help update the branch when needed.
What Problem This Solves
The original PR accumulated gateway lifecycle, environment cleanup, local runtime packaging, and automatic named Tailscale Service migration in one review surface. Although the remaining 12 commits are still unique relative to upstream
main, they are not one independently reviewable product change.The Tailscale portion is also unsafe to merge as written: it can replace unrelated handlers on the same Service; another local process can forge the trusted identity; environment destroy and prune do not own removal of the proxy, files, and route; and a later failure during a multi-Service rewrite can leave earlier routes changed without recoverable rollback state.
Why This Change Was Made
Keep this PR as a draft umbrella for provenance and redesign input while moving the mergeable work into focused branches:
The earlier rebases already removed behavior that upstream implemented independently, including targeted registry reconciliation, gateway readiness, source-extension packaging, source build profiles, full package-tree verification, cold checkpoints, durable-state preservation, and upgrade recovery.
A safe ingress redesign must preserve or explicitly reject mixed Service handlers, capture rollback state before any route mutation, reverse partial updates, authenticate the proxy boundary with an unforgeable mechanism, own proxy and route cleanup across environment lifecycle commands, and avoid silently changing routing and administrative authorization during an ordinary upgrade without an approved policy contract.
User Impact
Reviewers can evaluate and merge the lifecycle and runtime improvements independently without accepting the Tailscale authentication and routing risks. Operators receive no behavior change from this draft umbrella itself.
The unsafe ingress implementation remains available for analysis, but draft status and the split PRs prevent it from being treated as a merge candidate.
Evidence
mainat768714ae3491fb44c99837994141bdea7ee32b3a; current umbrella head is8a3d25725b1273a8319aa1d006c449ee93152ea9.git cherry -v origin/main HEADreports all 12 remaining commits as unique.