@kindgi/env-schema 0.1.0 → 0.1.2

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/dist/schema.d.ts CHANGED
@@ -95,6 +95,7 @@ export declare const ENV_GROUPS: {
95
95
  readonly core: "Core server config";
96
96
  readonly secrets: "Secrets backend selection";
97
97
  readonly gcp: "GCP vendor config (postgres + gcp KMS)";
98
+ readonly 'local-key': "Local key (postgres + libsodium: a key this runtime holds, single-node)";
98
99
  readonly 'pack-service': "Pack service (runs the pack code: tools and guardrail checks)";
99
100
  readonly 'image-registry': "Image registry (where deployments' images are read from)";
100
101
  readonly dev: "Development (`kindgi dev`; each needs `KINDGI_DEV=true`)";
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IAC5E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,WAAW,GAAG,OAAO,CAAC;IACnE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAMD,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AAwBX;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,UAAU,EA4XlD,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,GAAE,SAAS,UAAU,EAAsB,GAChD,SAAS,UAAU,EAAE,CAEvB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CA8CpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACjD,MAAM,EAAE,SAAS,EACjB,MAAM,GAAE,SAAS,UAAU,EAAsB,GAChD;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAYrF"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IAC5E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,WAAW,GAAG,OAAO,CAAC;IACnE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAMD,eAAO,MAAM,UAAU;;;;;;;;CAQb,CAAC;AA2BX;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,UAAU,EA4alD,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,GAAE,SAAS,UAAU,EAAsB,GAChD,SAAS,UAAU,EAAE,CAEvB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CA8CpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACjD,MAAM,EAAE,SAAS,EACjB,MAAM,GAAE,SAAS,UAAU,EAAsB,GAChD;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAYrF"}
package/dist/schema.js CHANGED
@@ -7,6 +7,7 @@ export const ENV_GROUPS = {
7
7
  core: 'Core server config',
8
8
  secrets: 'Secrets backend selection',
9
9
  gcp: 'GCP vendor config (postgres + gcp KMS)',
10
+ 'local-key': 'Local key (postgres + libsodium: a key this runtime holds, single-node)',
10
11
  'pack-service': 'Pack service (runs the pack code: tools and guardrail checks)',
11
12
  'image-registry': "Image registry (where deployments' images are read from)",
12
13
  dev: 'Development (`kindgi dev`; each needs `KINDGI_DEV=true`)',
@@ -19,6 +20,7 @@ const appliesToServer = (t) => t.component !== 'pack-service';
19
20
  const appliesToPostgresBackend = (t) => appliesToServer(t) && t.secretsBackend === 'postgres';
20
21
  const appliesToDotenvBackend = (t) => appliesToServer(t) && t.secretsBackend === 'dotenv';
21
22
  const appliesToPostgresGcp = (t) => appliesToPostgresBackend(t) && t.secretsBackendKms === 'gcp';
23
+ const appliesToPostgresLocalKey = (t) => appliesToPostgresBackend(t) && t.secretsBackendKms === 'libsodium';
22
24
  const appliesToPackService = (t) => t.component === 'pack-service';
23
25
  /** The server, calling a pack service over HTTP. */
24
26
  const appliesToServerHttpPackTransport = (t) => appliesToServer(t) && t.packTransport === 'http';
@@ -152,6 +154,22 @@ export const KINDGI_ENV_SCHEMA = [
152
154
  appliesTo: appliesToServer,
153
155
  group: 'core',
154
156
  },
157
+ {
158
+ name: 'KINDGI_RUN_LEASE_MS',
159
+ description: "How long a run's executor lease lasts without renewal, in milliseconds. Every unfinished run holds one, renewed every quarter of this by the server executing it. When a server stops without a shutdown (killed, out of memory, a crash), its runs' leases run out, and a server's sweep fails them, sending `run.finished`. Default 300000 (5 minutes); at least 10000, or the server refuses to start. A shorter lease finds such runs sooner, at the cost of more renewals.",
160
+ example: '300000',
161
+ required: false,
162
+ appliesTo: appliesToServer,
163
+ group: 'core',
164
+ },
165
+ {
166
+ name: 'KINDGI_RUN_SWEEP_INTERVAL_MS',
167
+ description: 'How often each server sweeps for runs whose executor lease ran out, in milliseconds. A run whose server stopped without a shutdown is failed within about `KINDGI_RUN_LEASE_MS` plus this. Default 60000; at least 1000, and shorter than `KINDGI_RUN_LEASE_MS`, or the server refuses to start.',
168
+ example: '60000',
169
+ required: false,
170
+ appliesTo: appliesToServer,
171
+ group: 'core',
172
+ },
155
173
  // ---- secrets backend --------------------------------------------
156
174
  {
157
175
  name: 'KINDGI_SECRETS_BACKEND',
@@ -180,7 +198,7 @@ export const KINDGI_ENV_SCHEMA = [
180
198
  },
181
199
  {
182
200
  name: 'KINDGI_SECRETS_BACKEND_KMS',
183
- description: 'Which KMS vendor wraps DEKs (postgres backend only). Currently supported: `gcp`. Reserved: `aws`, `libsodium`.',
201
+ description: 'Which KMS wraps DEKs (postgres backend only): `gcp` (Google Cloud KMS), or `libsodium`, a key this runtime holds (see `KINDGI_SECRETS_LOCAL_KEY_PATH`). Reserved: `aws`.',
184
202
  example: 'gcp',
185
203
  required: true,
186
204
  appliesTo: appliesToPostgresBackend,
@@ -236,6 +254,32 @@ export const KINDGI_ENV_SCHEMA = [
236
254
  appliesTo: appliesToPostgresGcp,
237
255
  group: 'gcp',
238
256
  },
257
+ // ---- local key (libsodium) --------------------------------------
258
+ {
259
+ name: 'KINDGI_SECRETS_LOCAL_KEY_PATH',
260
+ description: "Absolute path to the local key: a file of 32 random bytes (`openssl rand 32`, mode 0600), for `KINDGI_SECRETS_BACKEND_KMS=libsodium`. It wraps every secret's data key, and it's held on this host, next to the database: back it up apart from the database, since a lost key loses every secret. Replicas mount the same file. Starting with a different key than the secrets were stored under is refused. This or `KINDGI_SECRETS_LOCAL_KEY`, not both.",
261
+ example: '/etc/kindgi/secrets-local.key',
262
+ required: false,
263
+ appliesTo: appliesToPostgresLocalKey,
264
+ group: 'local-key',
265
+ },
266
+ {
267
+ name: 'KINDGI_SECRETS_LOCAL_KEY',
268
+ description: 'The local key itself, base64 (32 bytes; `openssl rand -base64 32`): for platforms that give secrets as environment variables. This or `KINDGI_SECRETS_LOCAL_KEY_PATH`, not both.',
269
+ example: '',
270
+ required: false,
271
+ appliesTo: appliesToPostgresLocalKey,
272
+ group: 'local-key',
273
+ },
274
+ {
275
+ name: 'KINDGI_SECRETS_LOCAL_KEY_ACK',
276
+ description: "Exactly `single-node`: the operator's acknowledgement that the secrets' key is held on this host, next to the database, not in a cloud KMS. Not FIPS 140-3; for regulated workloads, use a cloud KMS. Required with `KINDGI_SECRETS_BACKEND_KMS=libsodium`.",
277
+ example: 'single-node',
278
+ required: true,
279
+ appliesTo: appliesToPostgresLocalKey,
280
+ group: 'local-key',
281
+ allowedValues: ['single-node'],
282
+ },
239
283
  // ---- pack service -----------------------------------------------
240
284
  // The server's side: where the pack service is, and how long a call
241
285
  // may take.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAkGjC,wEAAwE;AACxE,yDAAyD;AACzD,wEAAwE;AAExE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,2BAA2B;IACpC,GAAG,EAAE,wCAAwC;IAC7C,cAAc,EAAE,+DAA+D;IAC/E,gBAAgB,EAAE,0DAA0D;IAC5E,GAAG,EAAE,0DAA0D;CACvD,CAAC;AAEX,wEAAwE;AACxE,gBAAgB;AAChB,wEAAwE;AAExE,kEAAkE;AAClE,MAAM,eAAe,GAAG,CAAC,CAAY,EAAW,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC;AAElF,MAAM,wBAAwB,GAAG,CAAC,CAAY,EAAW,EAAE,CACzD,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,KAAK,UAAU,CAAC;AAExD,MAAM,sBAAsB,GAAG,CAAC,CAAY,EAAW,EAAE,CACvD,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,KAAK,QAAQ,CAAC;AAEtD,MAAM,oBAAoB,GAAG,CAAC,CAAY,EAAW,EAAE,CACrD,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,KAAK,KAAK,CAAC;AAE/D,MAAM,oBAAoB,GAAG,CAAC,CAAY,EAAW,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC;AAEvF,oDAAoD;AACpD,MAAM,gCAAgC,GAAG,CAAC,CAAY,EAAW,EAAE,CACjE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,oEAAoE;IACpE;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,wOAAwO;QAC1O,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,oFAAoF;QACtF,OAAO,EAAE,oDAAoD;QAC7D,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,gLAAgL;QAClL,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,mEAAmE;QAChF,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,2EAA2E;QACxF,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,uFAAuF;QACzF,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mEAAmE;QAChF,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;QACb,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,oPAAoP;QACtP,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;QACb,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,wsBAAwsB;QAC1sB,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;QACb,aAAa,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;KACrC;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,4YAA4Y;QAC9Y,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,uQAAuQ;QACzQ,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,sCAAsC;QAC5C,WAAW,EACT,0XAA0X;QAC5X,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,WAAW,EACT,sPAAsP;QACxP,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,0NAA0N;QAC5N,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,MAAM;KACd;IAED,oEAAoE;IACpE;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,yQAAyQ;QAC3Q,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC;KAChE;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,yKAAyK;QAC3K,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,sBAAsB;QACjC,KAAK,EAAE,SAAS;KACjB;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,gKAAgK;QAClK,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,sBAAsB;QACjC,KAAK,EAAE,SAAS;KACjB;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,gHAAgH;QAClH,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,wBAAwB;QACnC,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,sNAAsN;QACxN,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,wBAAwB;QACnC,KAAK,EAAE,SAAS;KACjB;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,uPAAuP;QACzP,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,wBAAwB;QACnC,KAAK,EAAE,SAAS;KACjB;IAED,oEAAoE;IACpE;QACE,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,6DAA6D;QAC1E,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,0EAA0E;QACvF,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,KAAK;KACb;IAED,oEAAoE;IACpE,oEAAoE;IACpE,YAAY;IACZ;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,kYAAkY;QACpY,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,cAAc;KACtB;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,6LAA6L;QAC/L,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,gCAAgC;QAC3C,KAAK,EAAE,cAAc;KACtB;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,ydAAyd;QAC3d,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,gCAAgC;QAC3C,KAAK,EAAE,cAAc;QACrB,aAAa,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;KAC5C;IACD,gCAAgC;IAChC;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,2WAA2W;QAC7W,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,gCAAgC,CAAC,CAAC,CAAC;QAChF,KAAK,EAAE,cAAc;KACtB;IACD,qEAAqE;IACrE,2DAA2D;IAC3D;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,wJAAwJ;QAC1J,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,cAAc;KACtB;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,WAAW,EACT,4LAA4L;QAC9L,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,cAAc;KACtB;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,8SAA8S;QAChT,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,cAAc;QACrB,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;KAClC;IAED,oEAAoE;IACpE,gEAAgE;IAChE,2DAA2D;IAC3D;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,6JAA6J;QAC/J,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EACT,kGAAkG;QACpG,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EACT,+FAA+F;QACjG,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,IAAI,EAAE,sCAAsC;QAC5C,WAAW,EACT,2JAA2J;QAC7J,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,wUAAwU;QAC1U,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;QACvB,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;KACpC;IAED,oEAAoE;IACpE;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yUAAyU;QAC3U,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,sNAAsN;QACxN,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,wbAAwb;QAC1b,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,KAAK;KACb;CACF,CAAC;AAEF,wEAAwE;AACxE,gDAAgD;AAChD,wEAAwE;AAExE;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAiB,EACjB,SAAgC,iBAAiB;IAEjD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA2B;IAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,gEAAgE;QAChE,mDAAmD;QACnD,EAAE;KACH,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,KAAyB,EAAE,OAA8B,EAAQ,EAAE;QACpF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,KAAgC,CAAC,CAAC;QACnF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,OAAO,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;QACtC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAiD,EACjD,MAAiB,EACjB,SAAgC,iBAAiB;IAEjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,SAAS;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC9C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kindgi/env-schema",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Machine-readable registry of the Kindgi runtime's operator-facing env vars. Single source of truth for boot-time validation (validateEnvForTarget), .env.example scaffolding (renderEnvExample), and tools or coding agents introspecting deployment config. Adding a new env var means adding one entry here — no drift between validation, docs, and .env.example generation.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -18,7 +18,8 @@
18
18
  "exports": {
19
19
  ".": {
20
20
  "types": "./dist/index.d.ts",
21
- "import": "./dist/index.js"
21
+ "import": "./dist/index.js",
22
+ "default": "./dist/index.js"
22
23
  }
23
24
  },
24
25
  "files": [
@@ -32,7 +33,7 @@
32
33
  "vitest": "^2.1.8"
33
34
  },
34
35
  "engines": {
35
- "node": ">=22.0.0"
36
+ "node": ">=22.12.0"
36
37
  },
37
38
  "publishConfig": {
38
39
  "access": "public",
package/src/schema.ts CHANGED
@@ -105,6 +105,7 @@ export const ENV_GROUPS = {
105
105
  core: 'Core server config',
106
106
  secrets: 'Secrets backend selection',
107
107
  gcp: 'GCP vendor config (postgres + gcp KMS)',
108
+ 'local-key': 'Local key (postgres + libsodium: a key this runtime holds, single-node)',
108
109
  'pack-service': 'Pack service (runs the pack code: tools and guardrail checks)',
109
110
  'image-registry': "Image registry (where deployments' images are read from)",
110
111
  dev: 'Development (`kindgi dev`; each needs `KINDGI_DEV=true`)',
@@ -126,6 +127,9 @@ const appliesToDotenvBackend = (t: EnvTarget): boolean =>
126
127
  const appliesToPostgresGcp = (t: EnvTarget): boolean =>
127
128
  appliesToPostgresBackend(t) && t.secretsBackendKms === 'gcp';
128
129
 
130
+ const appliesToPostgresLocalKey = (t: EnvTarget): boolean =>
131
+ appliesToPostgresBackend(t) && t.secretsBackendKms === 'libsodium';
132
+
129
133
  const appliesToPackService = (t: EnvTarget): boolean => t.component === 'pack-service';
130
134
 
131
135
  /** The server, calling a pack service over HTTP. */
@@ -273,6 +277,24 @@ export const KINDGI_ENV_SCHEMA: readonly EnvVarSpec[] = [
273
277
  appliesTo: appliesToServer,
274
278
  group: 'core',
275
279
  },
280
+ {
281
+ name: 'KINDGI_RUN_LEASE_MS',
282
+ description:
283
+ "How long a run's executor lease lasts without renewal, in milliseconds. Every unfinished run holds one, renewed every quarter of this by the server executing it. When a server stops without a shutdown (killed, out of memory, a crash), its runs' leases run out, and a server's sweep fails them, sending `run.finished`. Default 300000 (5 minutes); at least 10000, or the server refuses to start. A shorter lease finds such runs sooner, at the cost of more renewals.",
284
+ example: '300000',
285
+ required: false,
286
+ appliesTo: appliesToServer,
287
+ group: 'core',
288
+ },
289
+ {
290
+ name: 'KINDGI_RUN_SWEEP_INTERVAL_MS',
291
+ description:
292
+ 'How often each server sweeps for runs whose executor lease ran out, in milliseconds. A run whose server stopped without a shutdown is failed within about `KINDGI_RUN_LEASE_MS` plus this. Default 60000; at least 1000, and shorter than `KINDGI_RUN_LEASE_MS`, or the server refuses to start.',
293
+ example: '60000',
294
+ required: false,
295
+ appliesTo: appliesToServer,
296
+ group: 'core',
297
+ },
276
298
 
277
299
  // ---- secrets backend --------------------------------------------
278
300
  {
@@ -306,7 +328,7 @@ export const KINDGI_ENV_SCHEMA: readonly EnvVarSpec[] = [
306
328
  {
307
329
  name: 'KINDGI_SECRETS_BACKEND_KMS',
308
330
  description:
309
- 'Which KMS vendor wraps DEKs (postgres backend only). Currently supported: `gcp`. Reserved: `aws`, `libsodium`.',
331
+ 'Which KMS wraps DEKs (postgres backend only): `gcp` (Google Cloud KMS), or `libsodium`, a key this runtime holds (see `KINDGI_SECRETS_LOCAL_KEY_PATH`). Reserved: `aws`.',
310
332
  example: 'gcp',
311
333
  required: true,
312
334
  appliesTo: appliesToPostgresBackend,
@@ -366,6 +388,36 @@ export const KINDGI_ENV_SCHEMA: readonly EnvVarSpec[] = [
366
388
  group: 'gcp',
367
389
  },
368
390
 
391
+ // ---- local key (libsodium) --------------------------------------
392
+ {
393
+ name: 'KINDGI_SECRETS_LOCAL_KEY_PATH',
394
+ description:
395
+ "Absolute path to the local key: a file of 32 random bytes (`openssl rand 32`, mode 0600), for `KINDGI_SECRETS_BACKEND_KMS=libsodium`. It wraps every secret's data key, and it's held on this host, next to the database: back it up apart from the database, since a lost key loses every secret. Replicas mount the same file. Starting with a different key than the secrets were stored under is refused. This or `KINDGI_SECRETS_LOCAL_KEY`, not both.",
396
+ example: '/etc/kindgi/secrets-local.key',
397
+ required: false,
398
+ appliesTo: appliesToPostgresLocalKey,
399
+ group: 'local-key',
400
+ },
401
+ {
402
+ name: 'KINDGI_SECRETS_LOCAL_KEY',
403
+ description:
404
+ 'The local key itself, base64 (32 bytes; `openssl rand -base64 32`): for platforms that give secrets as environment variables. This or `KINDGI_SECRETS_LOCAL_KEY_PATH`, not both.',
405
+ example: '',
406
+ required: false,
407
+ appliesTo: appliesToPostgresLocalKey,
408
+ group: 'local-key',
409
+ },
410
+ {
411
+ name: 'KINDGI_SECRETS_LOCAL_KEY_ACK',
412
+ description:
413
+ "Exactly `single-node`: the operator's acknowledgement that the secrets' key is held on this host, next to the database, not in a cloud KMS. Not FIPS 140-3; for regulated workloads, use a cloud KMS. Required with `KINDGI_SECRETS_BACKEND_KMS=libsodium`.",
414
+ example: 'single-node',
415
+ required: true,
416
+ appliesTo: appliesToPostgresLocalKey,
417
+ group: 'local-key',
418
+ allowedValues: ['single-node'],
419
+ },
420
+
369
421
  // ---- pack service -----------------------------------------------
370
422
  // The server's side: where the pack service is, and how long a call
371
423
  // may take.