Uh oh!
There was an error while loading. Please reload this page.
feat(cluster): multi-node authorization gate (open seam for EE license) - #2230
Merged
Conversation
@objectstack/service-cluster exports registerMultiNodeGate / checkMultiNodeAllowed — a generic seam a distribution (e.g. EE) registers a gate into to authorize multi-node (remote-driver) topology. The open framework ships no gate: multi-node is always allowed. Zero license logic here; this is the open mechanism an EE license plugs into (cloud ADR-0022). os serve consults the gate before activating a remote cluster driver; on denial it downgrades to single-node (in-memory) rather than failing — multi-node is an add-on, never bricks the runtime. The CLI keeps using a dynamic, non-literal import specifier so it does not statically depend on the cluster package (mirrors the remote-driver import). - multi-node-gate.ts: registry + checkMultiNodeAllowed + reset (5 tests). - service-cluster build (full DTS) + 45 tests green; cli build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
📓 Docs Drift CheckThis PR changes 2 package(s): 18 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the open mechanism an EE license plugs into to gate multi-node — zero license logic in the framework (cloud ADR-0022 D4/D7).
What
@objectstack/service-clusterexportsregisterMultiNodeGate/checkMultiNodeAllowed/__resetMultiNodeGate+MultiNodeGatetype. A distribution registers a gate that authorizes whether the runtime may enable a multi-node (remote-driver) topology. Open framework ships no gate → always allowed.os serveconsults the gate before activating a remote cluster driver. On denial it downgrades to single-node (in-memory) rather than failing — multi-node is an add-on, never bricks the runtime (distinct from the split-brain guard, which throws on outright misconfiguration).Verification
service-clusterfull build (tsup ESM+DTS) clean; 45 tests pass incl. 5 new gate tests (no-gate→allowed, deny-with-reason, allow, last-wins, reset).@objectstack/clibuild (tsc) green —serve.tscompiles.Changeset included (
service-clusterminor,climinor).Next (cloud side, ADR-0022): objectos-ee registers a license-based gate here via security-enterprise; objectos-runtime entitlement-source seam; boot wiring + downgrade.
🤖 Generated with Claude Code