lakebed 0.0.14 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -122,8 +122,9 @@ lakebed new [name] [--template todo] [--no-git]
122
122
  lakebed create [name] [--template todo] [--no-git]
123
123
  lakebed dev [capsule-dir] [--port 3000]
124
124
  lakebed build [capsule-dir] --target anonymous [--out .lakebed/artifacts/app.json] [--json]
125
- lakebed deploy [capsule-dir] [--ttl 7d] [--api <url>] [--json]
125
+ lakebed deploy [capsule-dir] [--api <url>] [--json]
126
126
  lakebed claim [capsule-dir] [--api <url>] [--json]
127
+ lakebed domains add <subdomain.lakebed.app> [--api <url>] [--json]
127
128
  lakebed anonymous-server [--port 8787] [--public-root-url <url>] [--app-base-domain <domain>]
128
129
  lakebed inspect <deploy-id-or-url> [--api <url>] [--json]
129
130
  lakebed db list [deploy-id-or-url] [--port 3000]
@@ -167,7 +168,27 @@ LAKEBED_APP_BASE_DOMAIN=lakebed.app
167
168
 
168
169
  With a verified `*.lakebed.app` custom domain on the runner, deploy responses use `https://<slug>.lakebed.app`.
169
170
 
170
- Deploy responses include a claim URL. Configure GitHub OAuth on the runner, then open that claim URL to attach the anonymous deploy to a developer account:
171
+ Anonymous deploy creation is relaxed for local `localhost` runners. When `PUBLIC_ROOT_URL` points at a non-local origin, the runner defaults to 50 anonymous deploy creates per forwarded client per UTC day and 5,000 globally. Override those with:
172
+
173
+ ```sh
174
+ LAKEBED_ANONYMOUS_DEPLOY_CREATE_PER_CLIENT_PER_DAY=50
175
+ LAKEBED_ANONYMOUS_DEPLOY_CREATE_GLOBAL_PER_DAY=5000
176
+ LAKEBED_ANONYMOUS_DEPLOY_CREATE_DISABLED=0
177
+ LAKEBED_ANONYMOUS_REQUESTS_PER_CLIENT_PER_DAY=100000
178
+ LAKEBED_ANONYMOUS_MUTATIONS_PER_CLIENT_PER_DAY=10000
179
+ ```
180
+
181
+ Deploy creation, app requests, and app mutations also have per-client IP backstops. Forwarded client IP headers are trusted automatically on Railway only when the request comes through Railway's edge proxy. For other proxy setups, set `LAKEBED_TRUST_PROXY_HEADERS=1` only when your proxy strips untrusted inbound forwarding headers before adding its own.
182
+
183
+ Expired unclaimed deploys are cleaned up by the runner. By default, cleanup marks expired anonymous deploys terminated after a 1 hour grace window and deletes their state, logs, env, quota rows, slug mapping, and unreferenced artifacts after 7 days:
184
+
185
+ ```sh
186
+ LAKEBED_ANONYMOUS_CLEANUP_GRACE=1h
187
+ LAKEBED_ANONYMOUS_CLEANUP_RETENTION=7d
188
+ LAKEBED_ANONYMOUS_CLEANUP_INTERVAL=1h
189
+ ```
190
+
191
+ Deploy responses include claim metadata. Configure GitHub OAuth on the runner, then run `lakebed claim` to open the claim page and attach the anonymous deploy to a developer account:
171
192
 
172
193
  ```sh
173
194
  LAKEBED_GITHUB_CLIENT_ID=...
@@ -176,7 +197,15 @@ LAKEBED_SESSION_SECRET=...
176
197
  LAKEBED_SERVER_ENV_SECRET=...
177
198
  ```
178
199
 
179
- Claimed deploys are listed at `/deploys` on the deploy API origin. They keep the same resource limits as anonymous deploys and do not expire. Anonymous deploys cannot use outbound `fetch` or hosted server env; after a deploy is claimed, `lakebed deploy` can update it with a source-backed server artifact that supports async handlers, server-side fetch, and `.env.lakebed.server` sync. If the first deploy already needs server-side `fetch` or server env, `lakebed deploy` creates a claim-required preview, saves its claim metadata, and prints the claim URL. Open that URL, then run `lakebed deploy` again to publish the real source-backed app. Set `LAKEBED_SERVER_ENV_SECRET` on Postgres-backed runners to encrypt stored server env values.
200
+ Claimed deploys are listed at `/deploys` on the deploy API origin. They keep the same resource limits as anonymous deploys and do not expire. Anonymous deploys cannot use outbound `fetch` or hosted server env; after a deploy is claimed, `lakebed deploy` can update it with a source-backed server artifact that supports async handlers, server-side fetch, and `.env.lakebed.server` sync. If the first deploy already needs server-side `fetch` or server env, `lakebed deploy` creates a claim-required preview, saves its claim metadata, and prints the `lakebed claim` command. Run that command, then run `lakebed deploy` again to publish the real source-backed app. Set `LAKEBED_SERVER_ENV_SECRET` on Postgres-backed runners to encrypt stored server env values.
201
+
202
+ After a deploy is claimed, reserve a Lakebed-owned app subdomain from the capsule directory:
203
+
204
+ ```sh
205
+ npx lakebed domains add my-app.lakebed.app
206
+ ```
207
+
208
+ Reserved product names such as `api`, `admin`, `docs`, and `www` are rejected.
180
209
 
181
210
  ## Admin Dashboard
182
211
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lakebed",
3
- "version": "0.0.14",
3
+ "version": "0.0.16",
4
4
  "description": "Agent-native CLI and runtime for building and deploying Lakebed capsules.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",