You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
### Changed — Slimmer production Docker images (`apps/objectos`, `apps/cloud`)
11
+
-**3-stage builder → pruner → runner Dockerfiles**: full pnpm workspace is restored only in the builder; the pruner runs `pnpm --filter ... deploy --prod --legacy /deploy` to materialize a flat, devDeps-stripped tree; the runner copies just `/deploy` plus the freshly built `dist/` of the target app. CMD now runs `node node_modules/@objectstack/cli/bin/run.js serve dist/objectstack.config.js --prebuilt` directly — no `pnpm` at runtime.
12
+
-**`@objectstack/cli` promoted to `dependencies`** in both `apps/objectos/package.json` and `apps/cloud/package.json` so the production entrypoint survives `--prod` pruning.
13
+
-**Surgical `.pnpm/` pruning** in the pruner stage removes large transitive packages that are not exercised by the runtime path (`next`, `@next/swc-*`, `playwright-core`, `@playwright/*`, `typescript`, `happy-dom`, `@rolldown/*`, `@img/sharp-libvips-*`, `@cloudflare/workers-types`, `@esbuild/*`, `lightningcss-*`, `caniuse-lite`). Together with stripping `*.map`, test directories, and Markdown, this lands the final image at ~690 MB (down from 1.93 GB), a 64% reduction. Both images still pass `/api/v1/health` and Docker's HEALTHCHECK end-to-end.
14
+
10
15
### Added — Cloudflare Containers deployment for `apps/objectos` & `apps/cloud`
11
16
-**`apps/{objectos,cloud}/scripts/deploy-cloudflare.sh`** — Idempotent `build → push → deploy` pipeline. Reads config from `.env.cloudflare` (gitignored) or env vars; auto-tags images with the current git short SHA; in-place rewrites the `image = "..."` line in `wrangler.toml` (BSD/GNU sed compatible); supports `--tag`, `--skip-build`, `--skip-push`, `--skip-deploy`, `--dry-run`. Forces `--platform linux/amd64` (Cloudflare Containers requirement).
12
17
-**`apps/{objectos,cloud}/scripts/setup-cloudflare-secrets.sh`** — Bulk `wrangler secret put` from a local `.env.cloudflare.secrets` file. Per-app key allow-list lets one shared file feed both Workers; unset keys are skipped (not cleared). Safe to re-run.
0 commit comments