omnigateway 0.10.3 → 0.11.0
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 +20 -2
- package/bin/omni.js +440 -301
- package/gateway.js +579 -358
- package/package.json +1 -1
- package/public/assets/{Chip-BeKVtewW.js → Chip-CmL-9rw7.js} +1 -1
- package/public/assets/{CopyValue-NTHhiCuT.js → CopyValue-CTVbU0O_.js} +1 -1
- package/public/assets/{Lamp-C2Q3t5Mn.js → Lamp-DtHKJH6P.js} +1 -1
- package/public/assets/{Rack-sUGRoZUx.js → Rack-_A_3zqxC.js} +1 -1
- package/public/assets/{RequestTable-C2RLARWy.js → RequestTable-Cokk7wKP.js} +1 -1
- package/public/assets/{SummaryDeck-BHXcb_Ji.js → SummaryDeck-C0IbqnLz.js} +1 -1
- package/public/assets/{Toggle-DwKz1aVq.js → Toggle-ChjN-tw1.js} +1 -1
- package/public/assets/{TokenBreakdown-DM-1HvOr.js → TokenBreakdown-BPoXM3JM.js} +1 -1
- package/public/assets/{WindowChart-BsonO5Py.js → WindowChart-BPEsEGFL.js} +1 -1
- package/public/assets/_app.accounts-DKmxz7Tl.js +59 -0
- package/public/assets/{_app.console-BQJMLRv4.js → _app.console-Bkdallia.js} +1 -1
- package/public/assets/{_app.database-BIiajZm6.js → _app.database-DxqN1395.js} +1 -1
- package/public/assets/{_app.index-DagK0Pqp.js → _app.index-BUqor-qH.js} +3 -3
- package/public/assets/{_app.keys-DLAG_bmt.js → _app.keys-DMCPEj1g.js} +1 -1
- package/public/assets/{_app.logs-AyVq3lLb.js → _app.logs-DGQD8ZAq.js} +1 -1
- package/public/assets/{_app.models-CwlkGPrx.js → _app.models-D6SV_GVk.js} +1 -1
- package/public/assets/{_app.plugins._pluginId-BhvEnawY.js → _app.plugins._pluginId-CJ7ObXXe.js} +1 -1
- package/public/assets/{_app.settings-BKA-1YLs.js → _app.settings-BVimpngR.js} +1 -1
- package/public/assets/{_app.usage-C7JEWKZM.js → _app.usage-Y2Nkaw0t.js} +1 -1
- package/public/assets/{chevron-right-S84SGCvk.js → chevron-right-BfnK63GB.js} +1 -1
- package/public/assets/{client-DCvpw0LS.js → client-WgQ5A2PD.js} +1 -1
- package/public/assets/{index-pZbadEun.js → index-BTE8vyBz.js} +3 -3
- package/public/assets/{login-CitmheGz.js → login-CrJK9wRA.js} +1 -1
- package/public/assets/plus-Cv51cK5k.js +1 -0
- package/public/assets/{preload-helper-BC9bKUg1.js → preload-helper-BknjH67x.js} +1 -1
- package/public/assets/{shared-C47BfV_u.js → shared-oTMOLWMT.js} +1 -1
- package/public/assets/{trash-2-DmtElUHr.js → trash-2-CSkf6ME_.js} +1 -1
- package/public/index.html +4 -4
- package/public/assets/_app.accounts-DUYxItf0.js +0 -59
- package/public/assets/plus-E7qLz9CF.js +0 -1
package/README.md
CHANGED
|
@@ -265,6 +265,23 @@ Several replicas behind a load balancer are **cluster mode** on Postgres and
|
|
|
265
265
|
Redis. All of it, with the nginx block and the Kubernetes base, is in
|
|
266
266
|
[docs/deploying.md](docs/deploying.md).
|
|
267
267
|
|
|
268
|
+
### Upgrading past v0.10.3 — action required
|
|
269
|
+
|
|
270
|
+
The first release after v0.10.3 drops two columns from `credential_health`
|
|
271
|
+
that every earlier gateway writes on **every successful request**. The moment
|
|
272
|
+
the new version migrates the database, every older gateway still running fails
|
|
273
|
+
each request *after* the upstream call has completed and been billed: the
|
|
274
|
+
client gets its content and then an aborted connection with no terminal frame.
|
|
275
|
+
|
|
276
|
+
- **Cluster mode:** a rolling deploy does not protect you — the surviving old
|
|
277
|
+
replica is the one that breaks. Scale to **one replica** before deploying
|
|
278
|
+
this release, then scale back up, or accept that every old replica serves
|
|
279
|
+
only failures until it is replaced.
|
|
280
|
+
- **Single process (SQLite):** the upgrade itself is safe; the rollback is not.
|
|
281
|
+
- **Rollback is unsafe on both.** An older version cannot re-add the columns
|
|
282
|
+
and fails the same way against the new schema. Take a snapshot **before** the
|
|
283
|
+
deploy; restoring it is the only way back.
|
|
284
|
+
|
|
268
285
|
## Configuration
|
|
269
286
|
|
|
270
287
|
Configuration is environment variables, read from the installation's `.env`:
|
|
@@ -290,6 +307,7 @@ Configuration is environment variables, read from the installation's `.env`:
|
|
|
290
307
|
| `OMNI_CLUSTER_MODE` | No | unset | `true` selects [cluster mode](docs/deploying.md#running-more-than-one-gateway) and requires the two URLs below; unset is one process on SQLite, and then the URLs must be unset too |
|
|
291
308
|
| `OMNI_DATABASE_URL` | In cluster mode | — | The shared Postgres store |
|
|
292
309
|
| `OMNI_REDIS_URL` | In cluster mode | — | The coordinator every process of a cluster shares: rate-limit counters, sessions, leases, push fan-out |
|
|
310
|
+
| `OMNI_DAY_OFFSET_MINUTES` | No | host's UTC offset at boot | Fixed minutes east of UTC for daily usage buckets; set explicitly and identically on every replica |
|
|
293
311
|
|
|
294
312
|
`OMNI_ROOT` is the one variable read from your shell and never from a root's `.env`, for the
|
|
295
313
|
reason it has to be: a variable that selects the installation cannot live inside the installation
|
|
@@ -357,8 +375,8 @@ Worth knowing before you deploy it:
|
|
|
357
375
|
password and a per-key client dashboard exist; there is no multi-tenancy —
|
|
358
376
|
every provider account is the operator's, whoever is looking.
|
|
359
377
|
- **Two grains of usage history.** Detailed request logs are pruned after 30
|
|
360
|
-
days by default; a daily rollup is kept for 400 days. A day
|
|
361
|
-
|
|
378
|
+
days by default; a daily rollup is kept for 400 days. A day uses a fixed UTC
|
|
379
|
+
offset, defaulting to the host's current offset; fleets must set it explicitly.
|
|
362
380
|
- **Body capture is forensics, not an archive.** It is off unless you turn it on
|
|
363
381
|
with both keys, it expires on the request-log window, and it is capped at
|
|
364
382
|
100,000 rows. `omni bodies` reads one request's capture; nothing searches
|