Skip to content

chore: remove apps/cloud (split to objectstack-ai/cloud) - #1257

Merged
os-zhuang merged 4 commits into
mainfrom
chore/remove-duplicate-apps-cloud
May 21, 2026
Merged

chore: remove apps/cloud (split to objectstack-ai/cloud)#1257
os-zhuang merged 4 commits into
mainfrom
chore/remove-duplicate-apps-cloud

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Removes the duplicate apps/cloud from the public framework repo now that the cloud control plane lives canonically in the private split repo objectstack-ai/cloud and serves cloud.objectos.app from there.

What's removed

  • apps/cloud/ (32 files, ~2.7K LOC)
  • dev:cloud script in root package.json
  • Cloud target / job / tag triggers in .github/workflows/deploy.yml (workflow is now objectos-only)

What's preserved

  • packages/services/service-cloud — still imported by packages/runtime and packages/cli. Decoupling tracked separately (framework-decouple-service-cloud todo).

Verification

  • pnpm install clean (lockfile reduces by 118 lines, only apps/cloud-exclusive deps drop).
  • cloud.objectos.app/.well-known/openid-configuration now served by the split repo (verified earlier in this session).
  • No code (TS/TSX/JSON) imports @objectstack/cloud.
  • Only docs / README still reference apps/cloud informationally; those can be updated in follow-ups.

The cloud control plane (cloud.objectos.app) is now built and deployed
from the private split repo objectstack-ai/cloud as part of the public
core / private cloud split (ADR planning ref: §1 of session plan.md).
Changes:
- Delete apps/cloud entirely (32 files, ~2.7K LOC removed).
- Drop "dev:cloud" script from root package.json.
- Slim .github/workflows/deploy.yml to objectos-only:
- Workflow renamed to 'Deploy ObjectOS to Cloudflare Containers'.
- Removed cloud job + plan-target input + deploy-cloud-* / deploy-all-* tag triggers.
- Cloud deploy now lives in objectstack-ai/cloud's own workflow.
What remains coupled (separate follow-up):
- packages/services/service-cloud still re-exported by framework
packages/runtime + packages/cli. Decoupling is tracked separately
(todo id: framework-decouple-service-cloud).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vercel

vercelBot commented May 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentMay 21, 2026 10:28am

Request Review

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation ci/cd dependencies Pull requests that update a dependency file tests tooling size/xl labels May 21, 2026
hotlongand others added 2 commits May 21, 2026 17:59
Pre-existing test drift from ADR-0006 project→environment rename:
production code reads sys_environment / sys_environment_member with
environment_id columns, but four tests still expected the old names.
This commit only renames in tests; no production code changes.
Fixes 4 failing tests in:
- packages/runtime/src/http-dispatcher.test.ts (RBAC membership lookup)
- packages/runtime/src/cloud/platform-sso.test.ts (backfill scanning)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The cloud/runtime boot mode dispatch dynamically imports
@objectstack/service-cloud. Previously a missing/broken install would
fail with an opaque ERR_MODULE_NOT_FOUND stack trace.
Wrap the import in try/catch and surface a clear, actionable error that
tells the user to either install the package or switch to bootMode=
'standalone'. This is the only remaining hard dependency surface
between the CLI and service-cloud — the other framework packages
(runtime, rest, adapters/hono) already use structural / 'any'-typed
interfaces.
Decoupling note: physically moving service-cloud out of the framework
workspace into the private cloud repo is a separate design decision
(would break cli's monorepo build of cloud-aware boot modes). Tracked
as a follow-up; not in scope here.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…i/cloud repo)
The control-plane service-cloud package now lives in the private cloud
repo (objectstack-ai/cloud) alongside apps/cloud. Framework consumers
already use only the structural `KernelManager` / `EnvironmentDriverRegistry`
interfaces (any-typed) or dynamic `await import('@objectstack/service-cloud')`
with try/catch fallbacks. No real imports remained — only doc comments.
Changes:
- packages/services/service-cloud/ deleted (~10k LOC, 56 files).
- packages/cli/package.json: drop "@objectstack/service-cloud":"workspace:*"
dependency. CLI's serve.ts already handles missing module gracefully
via dynamic import + try/catch (commit e69da73).
- packages/cli/src/types/service-cloud.d.ts retained as ambient stub
so TS still compiles the optional dynamic import path.
- pnpm-lock.yaml refreshed (-89 lines).
Verified: `pnpm turbo run test` → 108/108 tasks green.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@os-zhuang
os-zhuang merged commit 2a1fc86 into mainMay 21, 2026
13 checks passed
@os-zhuang
os-zhuang deleted the chore/remove-duplicate-apps-cloud branch May 21, 2026 12:15
os-zhuang added a commit that referenced this pull request May 21, 2026
The tenant runtime serving *.objectos.app now lives in the private
cloud repo (objectstack-ai/cloud/apps/objectos) alongside the control
plane. Production traffic continues uninterrupted — the new repo
deploys to the same Cloudflare Worker name 'objectos' under the same
CF account, atomically overwriting the framework-deployed image.
What this commit removes:
- apps/objectos/ — full tenant runtime (Dockerfile, server templates,
cloudflare worker, tests, scripts)
- .github/workflows/deploy.yml — final remaining job was objectos;
framework no longer deploys to Cloudflare
- Root package.json scripts: pnpm dev / pnpm start / pnpm doctor
(aliases of pnpm --filter @objectstack/objectos …)
- README.md + CLAUDE.md mentions of @objectstack/objectos
- 711 lines of stale objectos entries in pnpm-lock.yaml
What stays:
- All packages/ (spec, core, runtime, drivers, plugins, services
except service-cloud which was removed in #1257)
- apps/{studio,docs,account,console} reference apps
- examples/ (app-todo, app-crm, plugin-bi)
- Doc comments mentioning objectos historically (no code coupling)
Verification:
- pnpm install → clean (57 workspace projects, down from 58)
- turbo build → 54/54 tasks green
- turbo test → 106/106 tasks green
- CLI smoke → 'os --help' works (no service-cloud / no objectos)
- Production cut-over verified: cloud-repo deploy-objectos workflow
pushed worker version 6e385b34 to CF at 2026-05-21 12:49 UTC,
*.objectos.app/api/v1/health continues to return 200.
Rollback: tag pre-cloud-split → @64875c01 (pre split).
Co-authored-by: Jack Zhuang <50353452+hotlong@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
os-zhuang added a commit that referenced this pull request May 21, 2026
The package was removed from this repo in #1257 (cloud split) but its
entry in .changeset/config.json's `fixed` list was left behind. Every
Release workflow run since then has failed with:
ValidationError: The package or glob expression
"@objectstack/service-cloud" specified in the `fixed` option does
not match any package in the project.
Removing the entry unblocks 'changesets/action', which will then update
PR #1256 (chore: version packages) to bump remaining published packages
4.0.5 -> 4.1.0 (minor, driven by the @objectstack/cli changeset added
in #1260). Merging that PR triggers npm publish.
Co-authored-by: Jack Zhuang <50353452+hotlong@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cddependenciesPull requests that update a dependency filedocumentationImprovements or additions to documentationsize/xlteststooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@os-zhuang@hotlong