@cosmicdrift/kumiko-server-runtime 0.363.0 → 0.364.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.
|
@@ -2,7 +2,7 @@ import type { AuthEmailPasswordOptions } from "@cosmicdrift/kumiko-bundled-featu
|
|
|
2
2
|
import { type DbConnection } from "@cosmicdrift/kumiko-framework/db";
|
|
3
3
|
import { type FeatureDefinition, type Registry } from "@cosmicdrift/kumiko-framework/engine";
|
|
4
4
|
import { type WorkerEntrypoint } from "@cosmicdrift/kumiko-framework/entrypoint";
|
|
5
|
-
import type { SecretsContext } from "@cosmicdrift/kumiko-framework/secrets";
|
|
5
|
+
import type { EnvelopeCipher, SecretsContext } from "@cosmicdrift/kumiko-framework/secrets";
|
|
6
6
|
import { Redis } from "ioredis";
|
|
7
7
|
import type { RunWorkerAppOptions } from "../run-worker-app.js";
|
|
8
8
|
export type WorkerBootCoreOptions = Omit<RunWorkerAppOptions, "wireComponents">;
|
|
@@ -26,6 +26,8 @@ export type BootedWorkerProcess = {
|
|
|
26
26
|
/** ctx.secrets as wired into the entrypoint (auto-wired when the secrets
|
|
27
27
|
* feature is mounted and a master key exists, or from `extraContext`). */
|
|
28
28
|
readonly secrets?: SecretsContext;
|
|
29
|
+
/** Envelope cipher for `encrypted` config keys, when a master key is wired. */
|
|
30
|
+
readonly configCipher?: EnvelopeCipher;
|
|
29
31
|
readonly close: () => Promise<void>;
|
|
30
32
|
};
|
|
31
33
|
export type WorkerBootResult = {
|
|
@@ -188,6 +188,7 @@ export async function bootWorkerProcess(options, envSource, profile) {
|
|
|
188
188
|
envSource,
|
|
189
189
|
entrypoint,
|
|
190
190
|
...(isSecretsContext(extraContext["secrets"]) && { secrets: extraContext["secrets"] }),
|
|
191
|
+
...(bootCrypto.configCipher && { configCipher: bootCrypto.configCipher }),
|
|
191
192
|
close: async () => {
|
|
192
193
|
await entrypoint.stop();
|
|
193
194
|
await closeDb();
|
package/dist/run-bootstrap.js
CHANGED
|
@@ -52,7 +52,13 @@ export async function runBootstrap(options) {
|
|
|
52
52
|
return undefined;
|
|
53
53
|
let report;
|
|
54
54
|
try {
|
|
55
|
-
report = await bootstrapTenants({
|
|
55
|
+
report = await bootstrapTenants({
|
|
56
|
+
db: boot.db,
|
|
57
|
+
redis: boot.redis,
|
|
58
|
+
dispatcher: boot.entrypoint.dispatcher,
|
|
59
|
+
registry: boot.registry,
|
|
60
|
+
...(boot.configCipher && { configCipher: boot.configCipher }),
|
|
61
|
+
}, {
|
|
56
62
|
tenants: options.tenants,
|
|
57
63
|
...(options.systemAdmins && { systemAdmins: options.systemAdmins }),
|
|
58
64
|
...(options.seed && { seed: options.seed }),
|
package/dist/run-prod-app.js
CHANGED
|
@@ -425,9 +425,9 @@ export async function runProdApp(options) {
|
|
|
425
425
|
// it lazily, entities without encrypted fields never touch it.
|
|
426
426
|
configureEntityFieldEncryption(bootCrypto.entityFieldCipher);
|
|
427
427
|
// Subject-key KMS for pii-annotated fields (crypto-shredding, #724).
|
|
428
|
-
// No adapter
|
|
429
|
-
//
|
|
430
|
-
//
|
|
428
|
+
// No adapter only gets this far when assertPiiBootInvariants above let it
|
|
429
|
+
// through: no PII carriers, or an explicit allowPlaintextPii opt-out. The
|
|
430
|
+
// engine then stays off and those fields are stored in plaintext.
|
|
431
431
|
configurePiiSubjectKms(options.kms);
|
|
432
432
|
// Blind-Index-Key (#818) — Boot-Gate: mit aktivem KMS würden lookupable-
|
|
433
433
|
// Felder als Ciphertext gespeichert, ohne Key gäbe es keinen bidx-Arm und
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-server-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.364.0",
|
|
4
4
|
"description": "Production server-boot runtime for Kumiko apps: connections, schema-drift-gate, seeds, lifecycle, graceful shutdown. Symmetric to kumiko-dev-server's runDevApp, without dev/scaffold/codegen tooling.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -84,12 +84,12 @@
|
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@cosmicdrift/kumiko-bundled-features": "0.
|
|
88
|
-
"@cosmicdrift/kumiko-framework": "0.
|
|
89
|
-
"@cosmicdrift/kumiko-headless": "0.
|
|
90
|
-
"@cosmicdrift/kumiko-renderer-mail-html": "0.
|
|
91
|
-
"@cosmicdrift/kumiko-renderer-web": "0.
|
|
92
|
-
"@cosmicdrift/kumiko-types": "0.
|
|
87
|
+
"@cosmicdrift/kumiko-bundled-features": "0.364.0",
|
|
88
|
+
"@cosmicdrift/kumiko-framework": "0.364.0",
|
|
89
|
+
"@cosmicdrift/kumiko-headless": "0.364.0",
|
|
90
|
+
"@cosmicdrift/kumiko-renderer-mail-html": "0.364.0",
|
|
91
|
+
"@cosmicdrift/kumiko-renderer-web": "0.364.0",
|
|
92
|
+
"@cosmicdrift/kumiko-types": "0.364.0",
|
|
93
93
|
"bun-types": "^1.3.13",
|
|
94
94
|
"ioredis": "^5.10.1",
|
|
95
95
|
"temporal-polyfill": "^0.3.2"
|