@serve.zone/interfaces 20.2.0 → 21.1.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/changelog.md +20 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/data/coremail.d.ts +37 -0
- package/dist_ts/data/coremail.js +15 -1
- package/dist_ts/data/coremail.runtime.d.ts +31 -0
- package/dist_ts/data/coremail.runtime.js +419 -0
- package/dist_ts/data/index.d.ts +1 -0
- package/dist_ts/data/index.js +2 -1
- package/dist_ts/requests/coremail.d.ts +2 -0
- package/dist_ts/requests/status.d.ts +9 -1
- package/package.json +1 -1
- package/readme.md +34 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/data/coremail.runtime.ts +675 -0
- package/ts/data/coremail.ts +41 -0
- package/ts/data/index.ts +1 -0
- package/ts/requests/coremail.ts +2 -0
- package/ts/requests/status.ts +24 -12
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
import * as serviceInterfaces from '../data/service.js';
|
|
3
3
|
import * as userInterfaces from '../data/user.js';
|
|
4
|
+
type TReportReconciliationRolloutIdentity = {
|
|
5
|
+
rolloutId: string;
|
|
6
|
+
rolloutGeneration: number;
|
|
7
|
+
} | {
|
|
8
|
+
rolloutId?: never;
|
|
9
|
+
rolloutGeneration?: never;
|
|
10
|
+
};
|
|
4
11
|
/**
|
|
5
12
|
* a status update dashboard
|
|
6
13
|
*/
|
|
@@ -24,6 +31,7 @@ export interface IRequest_Coreflow_Cloudly_ReportReconciliationStatus extends pl
|
|
|
24
31
|
message?: string;
|
|
25
32
|
errorText?: string;
|
|
26
33
|
reportedAt?: number;
|
|
27
|
-
};
|
|
34
|
+
} & TReportReconciliationRolloutIdentity;
|
|
28
35
|
response: {};
|
|
29
36
|
}
|
|
37
|
+
export {};
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -505,6 +505,40 @@ bounded one-time HTTP upload, then applies it by reconciliation ID, so a large
|
|
|
505
505
|
binding set never bypasses the 64 KiB control-frame boundary. Desired bindings
|
|
506
506
|
contain password verifiers and secret references only, never plaintext
|
|
507
507
|
workload or dcrouter credentials.
|
|
508
|
+
Use `data.normalizeCoreMailDesiredState`,
|
|
509
|
+
`data.canonicalizeCoreMailDesiredState`, and
|
|
510
|
+
`data.createCoreMailDesiredStateDigest` at every producer and consumer
|
|
511
|
+
boundary. Use `data.verifyCoreMailDesiredStateDigest` before applying a staged
|
|
512
|
+
snapshot, `data.normalizeCoreMailCredentialVerifier` before accepting verifier
|
|
513
|
+
metadata, `data.normalizeCoreMailControlBootstrap` for startup authority, and
|
|
514
|
+
`data.normalizeCoreMailGatewayPeerDesiredState` for dcrouter peer state. The
|
|
515
|
+
normalizers reject unknown fields, noncanonical mailboxes,
|
|
516
|
+
ambiguous active recipient ownership, malformed SHA-256 values, and
|
|
517
|
+
credential-lifecycle inconsistencies. CoreMail credential verifiers use the
|
|
518
|
+
versioned `argon2id-v1` format and the exact policy exported as
|
|
519
|
+
`data.coreMailCredentialVerifierPolicy`.
|
|
520
|
+
|
|
521
|
+
`data.ICoreMailControlBootstrap` is installed before ordinary reconciliation.
|
|
522
|
+
It contains the CoreMail service identity and verifier metadata only. The
|
|
523
|
+
matching plaintext control credential is delivered exclusively to Coreflow
|
|
524
|
+
through resolved runtime secrets. `data.coreMailRuntimeKeys` publishes the
|
|
525
|
+
canonical environment keys for the verifier-only bootstrap payload and the
|
|
526
|
+
separate control and gateway secret values; no consumer may derive or embed
|
|
527
|
+
plaintext material in desired state.
|
|
528
|
+
|
|
529
|
+
`data.ICoreMailGatewayPeerDesiredState` gives dcrouter the authoritative HTTPS
|
|
530
|
+
CoreMail transfer origin associated with an authenticated CoreMail service.
|
|
531
|
+
The origin is control-plane state and must never be inferred from a socket,
|
|
532
|
+
Host header, TypedSocket tag, or unrestricted peer input. The gateway
|
|
533
|
+
authentication response repeats dcrouter's bound origin so CoreMail can reject
|
|
534
|
+
configuration drift before handing over a path-only transfer grant.
|
|
535
|
+
|
|
536
|
+
Control and gateway credential rotation is ordered: provision the candidate
|
|
537
|
+
plaintext through resolved runtime secrets, publish and activate the matching
|
|
538
|
+
`argon2id-v1` verifier, roll or reconnect every affected replica, observe
|
|
539
|
+
per-task authentication and readiness, then mark the previous verifier
|
|
540
|
+
`retiring` with `acceptUntil`. Remove the previous verifier and secret only
|
|
541
|
+
after its acceptance window has elapsed and no session uses that version.
|
|
508
542
|
Reconciliation status carries the exact CoreMail task, rollout generation, and
|
|
509
543
|
image digest so Coreflow can correlate every response with its authoritative
|
|
510
544
|
current task roster.
|