Repository navigation
docs(deploy): Enterprise licensing and multi-organization pages - #442
Draft
objectstack-fleet[bot] wants to merge 1 commit into
Draft
objectstack-fleet[bot] wants to merge 1 commit into
objectstack-fleet[bot] wants to merge 1 commit into
Conversation
Two Enterprise-only pages under Deploy, written from objectstack-ai/cloud main: licensing (obtaining, online vs air-gap, the boot banner, renewal, subscription vs perpetual lapse, Enterprise Single-Node vs Enterprise) and multi-organization (postures, the licence gate and its refusal, run shapes, the walled-posture decisions, Community image, Cloud for small scale). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012dn2AdARJtc4RgABPH7PHk
This branch has not been deployed
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 free
to 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.
Fixes #350
Clause-②: no
Metadata-protocol: none
维护者速读
deploy/meta.json,回滚 = revert 这一个 squash commit。已知不一致:editions/license、editions/compare仍写「完整部署续费失败保留最后付费版本」,由 Docs: ObjectOS Enterprise has no public price (drop Enterprise Single-Node $540), and a lapsed licence follows cloud#3583 (subscription degrades, perpetual keeps its version) #439 第二个 PR 改。content/docs/deploy/licensing.mdx的「When a license ends」(三种到期后会拒启的配置)、同页的对比表(多节点与 HA 的措辞)、content/docs/deploy/multi-organization.mdx的「On the Community image」(开源多组织运行时的那句话)。What changes
deploy/licensing.mdx(editions: [enterprise]): obtaining a license (what the license mail carries, edition / mode / kind fixed at issue), Enterprise Single-Node vs Enterprise (a feature table plus the honest scope of each row), online vs air-gap (72 h entitlement, 24 h refresh, 7-day grace, the online-plus-offrefusal, the composed shape's air-gap-only rule, the 10 s first-boot wait), what the boot banner shows (a licensed and a Community example, line by line, the GRACE / PERPETUAL / BUILD STAMP states),license-check.sh, renewal, and what a license that ends does: a subscription degrades to Community, a perpetual license keeps the images released during maintenance, and three configurations refuse to start instead (walled posture, customer-managed keys, declared multi-node).deploy/multi-organization.mdx(editions: [enterprise]): which edition fits (Enterprise for several organizations self-managed, Cloud for small scale), the three postures, the license gate and its refusal text, lapse behaviour on a walled deployment, the Community image, the three run shapes, the three decisions a walled deployment must declare, what the wall separates, and the two per-organization protections (SSO domain verification on by default, customer-managed keys).deploy/meta.json: the two pages appended to the Deploy group.No locale file is touched. The locale
meta.*.jsonfiles keep their own page lists, so the two pages appear in the English sidebar now and in the other locales' sidebars at the next translation pass.The card's sentence that changed
The card says non-renewal "never version-locks". On cloud
mainthat holds for subscriptions, Enterprise Single-Node included, and not for the perpetual licence cloud#3583 / PR #3589 added: an image built no later than the maintenance end stays licensed (VERSION-LOCKED), a later image runs as Community. The page states that rule. Per the maintainer's 2026-11-04 ruling on cloud#3583 it names no perpetual price or SKU and calls the perpetual licence contract-only. It also names no Enterprise price, per the same thread's "Enterprise has no public price" (docs#439).Where each fact comes from (objectstack-ai/cloud
main@9e71fd6a, objectstack-ai/objectstackmain@8ef4d309)maxNodes: 1, up to 25 AI seats, online only, featuresaiStudio, governance; clustering, multi-org, SCIM, air-gap, hierarchy, CMK excluded; no version-lockdocs/design/ee-feature-catalog.md:28-35;docs/adr/0085-brand-split-pricing-and-business-self-managed.md:51-65,:71-80ee-feature-catalog.md:41-47,:54-80apps/objectos-ee/deploy/INSTALL.md:21-31INSTALL.md:177-180;packages/security-enterprise/src/license/online-client.ts:24,:59,:65; ADR-0022 decision point 1 (docs/adr/0022-enterprise-license-model.md:194-195)OS_CLOUD_URL=offrefused; quoted first lineINSTALL.md:182-183;packages/security-enterprise/src/license/online-posture-gate.ts:168apps/objectos-ee/objectstack.config.ts:481,:683-685,:693-697packages/security-enterprise/src/license/entitlement.ts:955(preview label),:966,:1012-1013,:1017-1021,:1043-1053,:1064-1075,:1086-1103objectstack.config.ts:437(banner printed by the config);apps/objectos-ee/deploy/artifact-pinned-boot.md:114-129license-check.shbehaviour,businessedition name, 30-day warning, pre-perpetual images boot licensedapps/objectos-ee/deploy/license-check.sh:84-113upgrade.sh preflightstopsINSTALL.md:204-220; ADR-0022 D5 and D9 (:76-80,:116-148):181)INSTALL.md:222-223;packages/organizations/src/multi-org-license-gate.ts:231-251(quoted);artifact-pinned-boot.md:119-121(MULTI_ORG_NOT_LICENSED)ee-feature-catalog.md:47,:62-67content/docs/reference/environment-variables.mdx(this site,OS_CLUSTER_REPLICASrow);apps/objectos-ee/deploy/README.md:105-137single/group/isolated; unset is silent, typo refusesdocs/deployment/multi-tenant.md:31-37,:88-104OS_CLOUD_URL=off, build agent closable; artifact-pinned lacks the EE wiringapps/objectos-ee/deploy/composed-artifact-boot.md:20-45objectstack.config.ts:795-828;INSTALL.mdSingle sign-on sectiondocker/Dockerfile(installs@objectstack/clionly);packages/cli/src/commands/serve.ts:4504-4545,:6960-6967,:6978-6980docs/adr/0132-multi-organization-runtime-is-open-core.mdD1, D2ee-v4.3.1=2577f17c;git merge-base --is-ancestor 2577f17cexits 0 ford4aa3a7f(cloud#3583),7031d56a(cloud#3573) and343a2c00(cloud#3679), so all three land after the tagTests
Docs-only. No
ts/jssample blocks added.Acceptance notes
@objectstack/organizationsApache-2.0, and objectstack#16137 (closed) proved an open-only install can raise the wall. The published Community image does not ship that package, so a walled posture there refuses to start. The cloud catalog still says "ObjectStack self-host is single-org", and itsmultiOrgrow still describes the runtime as moved into closed source. The page scopes its claim to ObjectOS and keeps one sentence saying the runtime itself is open source in the framework, which this site's changelog already says. Deleting that sentence leaves the page correct./metricsand trace export on the Enterprise image: on cloudmainthere is no/metricsroute and no Prometheus or OTLP wiring inapps/objectos-ee,packages/security-enterprise,packages/objectos-runtimeor the deploy kit, so docs(deploy, operate): one self-managed handbook for Community and Enterprise #352's removal stands and Enterprise adds nothing there. No page change, and Observability is outside this PR's files. (2) A walled posture on the Community image: answered on the Multi-organization page, as described above.editions/licenseandeditions/comparestill say a full Enterprise deployment keeps "the last paid version perpetually" on non-renewal. Docs: ObjectOS Enterprise has no public price (drop Enterprise Single-Node $540), and a lapsed licence follows cloud#3583 (subscription degrades, perpetual keeps its version) #439's second PR rewrites that wording.deploy/docker.mdx"Multi-node on Enterprise" says to turn on the Redis cluster driver, while the EE kit README (README.md:107-137) says no cluster driver is wired today and one node is the only supported shape.deploy/index.mdxandeditions/licenselist "high availability", which the catalog says not to promise (ee-feature-catalog.md:42). The site's Upgrade page does not carry the open cloud#3588 known issue: walled deployments should not upgrade from 4.2.x to 4.3.x yet.entitlement.ts:955, verbatim from the cloud#3538 ruling). The page quotes it and translates it.Co-Authored-Bytrailer names a model. The pushed history was not rewritten.Verification
All on
73d9274, foreground, exit codes captured to files before reading.Gates
pnpm install --frozen-lockfilepnpm turbo run type-check --filter=@objectos/docs --forcepnpm turbo run build --filter=@objectos/docs --force(NEXT_PRIVATE_STANDALONE=true)check-translation-ownership.mjs --files(name-status vsorigin/main,--no-renames)check-positioning.mjscheck-locale-surface.mjscheck-translations.mjsgen-zh-hant.mjs --checkcheck-doc-samples.mjsBrowser check (Chromium against next start of that build)
/docs/deploy/licensingand/docs/deploy/multi-organizationboth answer 200 at 1280 px and 390 px with no horizontal page scroll (scrollWidthequals the viewport). Both appear in the Deploy sidebar with the Enterprise badge only. Every in-page anchor resolves. All 17 cross-page links with anchors resolve to an element id (docker, kubernetes, air-gapped, environment-variables, hierarchy-visibility, plans-and-seats, production, troubleshooting, editions/license, and the two new pages' own anchors).🤖 Generated with Claude Code
https://claude.ai/code/session_012dn2AdARJtc4RgABPH7PHk