@push.rocks/smartdb 3.0.3 → 4.0.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/dist_rust/rustdb_linux_amd64 +0 -0
- package/dist_rust/rustdb_linux_arm64 +0 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/index.d.ts +1 -1
- package/dist_ts/index.js +1 -1
- package/dist_ts/ts_smartdb/index.d.ts +1 -1
- package/dist_ts/ts_smartdb/index.js +1 -1
- package/dist_ts/ts_smartdb/rust-db-bridge.d.ts +4 -2
- package/dist_ts/ts_smartdb/rust-db-bridge.js +19 -1
- package/dist_ts/ts_smartdb/server/SmartdbServer.d.ts +5 -1
- package/dist_ts/ts_smartdb/server/SmartdbServer.js +10 -1
- package/dist_ts/ts_smartdb/service-types.d.ts +37 -0
- package/dist_ts/ts_smartdb/service-types.js +1 -1
- package/package.json +1 -1
- package/readme.md +31 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/index.ts +5 -0
- package/ts/ts_smartdb/index.ts +5 -0
- package/ts/ts_smartdb/rust-db-bridge.ts +49 -0
- package/ts/ts_smartdb/server/SmartdbServer.ts +25 -0
- package/ts/ts_smartdb/service-types.ts +42 -0
|
Binary file
|
|
Binary file
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/smartdb',
|
|
6
|
-
version: '
|
|
6
|
+
version: '4.0.0',
|
|
7
7
|
description: 'A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHFIQUFxSDtDQUNuSSxDQUFBIn0=
|
package/dist_ts/index.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export { LocalSmartDb } from './ts_local/index.js';
|
|
|
4
4
|
export type { ILocalSmartDbOptions, ILocalSmartDbConnectionInfo, ILocalSmartDbOfflineInspectionLimits, ILocalSmartDbOfflineStringValueInspection, TLocalSmartDbOfflineStringValueInspectionResult, } from './ts_local/index.js';
|
|
5
5
|
export { AuthMetadataMigrationRunner, StorageMigrator, type IAuthMetadataPermissionMigrationBridge, type TAuthMetadataMigrationRunnerStatus, } from './ts_migration/index.js';
|
|
6
6
|
export { commitinfo };
|
|
7
|
-
export type { IOpLogEntry, IOpLogResult, IOpLogStats, IRevertResult, ICollectionInfo, IDocumentsResult, ISmartDbMetrics, ISmartDbHealth, ISmartDbResourceFence, ISmartDbResourceFenceReceipt, ISmartDbHeldPublicationReceipt, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, ISmartDbDatabaseAllocationIdentity, ISmartDbDatabaseAllocationLifecycle, TSmartDbCommitDatabasePublicationResult, TSmartDbResourceFenceErrorCode, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbDatabaseExportCollection, ISmartDbDatabaseExport, ISmartDbDatabaseExportLimits, ISmartDbExportDatabaseInput, ISmartDbDatabaseContentDigestLimits, ISmartDbGetDatabaseContentDigestInput, ISmartDbDatabaseContentDigest, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, TSmartDbEffectivePayloadInputV1, } from './ts_smartdb/index.js';
|
|
7
|
+
export type { IOpLogEntry, IOpLogResult, IOpLogStats, IRevertResult, ICollectionInfo, IDocumentsResult, ISmartDbMetrics, ISmartDbHealth, ISmartDbResourceFence, ISmartDbResourceFenceReceipt, ISmartDbHeldPublicationReceipt, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, ISmartDbDatabaseAllocationIdentity, ISmartDbDatabaseAllocationLifecycle, ISmartDbDatabaseAllocationReadAccessGrantIdentity, ISmartDbIssueDatabaseAllocationReadAccessGrantInput, ISmartDbIssueDatabaseAllocationReadAccessGrantResult, ISmartDbRevokeDatabaseAllocationReadAccessGrantInput, ISmartDbRevokeDatabaseAllocationReadAccessGrantResult, TSmartDbCommitDatabasePublicationResult, TSmartDbResourceFenceErrorCode, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbDatabaseExportCollection, ISmartDbDatabaseExport, ISmartDbDatabaseExportLimits, ISmartDbExportDatabaseInput, ISmartDbDatabaseContentDigestLimits, ISmartDbGetDatabaseContentDigestInput, ISmartDbDatabaseContentDigest, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, TSmartDbEffectivePayloadInputV1, } from './ts_smartdb/index.js';
|
|
8
8
|
export { SmartDbResourceFenceError, normalizeSmartDbResourceFenceError, smartDbResourceFenceErrorCodes, createSmartDbEffectivePayloadSha256V1, } from './ts_smartdb/index.js';
|
package/dist_ts/index.js
CHANGED
|
@@ -8,4 +8,4 @@ export { AuthMetadataMigrationRunner, StorageMigrator, } from './ts_migration/in
|
|
|
8
8
|
// Export commitinfo
|
|
9
9
|
export { commitinfo };
|
|
10
10
|
export { SmartDbResourceFenceError, normalizeSmartDbResourceFenceError, smartDbResourceFenceErrorCodes, createSmartDbEffectivePayloadSha256V1, } from './ts_smartdb/index.js';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFckQsNkJBQTZCO0FBQzdCLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsc0JBQXNCO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVNuRCxtQkFBbUI7QUFDbkIsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixlQUFlLEdBR2hCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztBQStDdEIsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixrQ0FBa0MsRUFDbEMsOEJBQThCLEVBQzlCLHFDQUFxQyxHQUN0QyxNQUFNLHVCQUF1QixDQUFDIn0=
|
|
@@ -2,7 +2,7 @@ export { SmartdbServer } from './server/SmartdbServer.js';
|
|
|
2
2
|
export type { ISmartdbAuthOptions, ISmartdbAuthUser, ISmartdbOplogOptions, ISmartdbServerOptions, ISmartdbTlsOptions, } from './server/SmartdbServer.js';
|
|
3
3
|
export { RustDbBridge, SmartDbManagementOperationTerminationError, } from './rust-db-bridge.js';
|
|
4
4
|
export type { IOpLogEntry, IOpLogResult, IOpLogStats, IRevertResult, ICollectionInfo, IDocumentsResult, ISmartDbMetrics, } from './rust-db-bridge.js';
|
|
5
|
-
export type { ISmartDbHealth, ISmartDbResourceFence, ISmartDbResourceFenceReceipt, ISmartDbHeldPublicationReceipt, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, ISmartDbDatabaseAllocationIdentity, ISmartDbDatabaseAllocationLifecycle, ILocalSmartDbOfflineInspectionLimits, ILocalSmartDbOfflineStringValueInspection, TLocalSmartDbOfflineStringValueInspectionResult, TSmartDbCommitDatabasePublicationResult, TSmartDbResourceFenceErrorCode, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbDatabaseExportCollection, ISmartDbDatabaseExport, ISmartDbDatabaseExportLimits, ISmartDbExportDatabaseInput, ISmartDbDatabaseContentDigestLimits, ISmartDbGetDatabaseContentDigestInput, ISmartDbDatabaseContentDigest, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, } from './service-types.js';
|
|
5
|
+
export type { ISmartDbHealth, ISmartDbResourceFence, ISmartDbResourceFenceReceipt, ISmartDbHeldPublicationReceipt, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, ISmartDbDatabaseAllocationIdentity, ISmartDbDatabaseAllocationLifecycle, ISmartDbDatabaseAllocationReadAccessGrantIdentity, ISmartDbIssueDatabaseAllocationReadAccessGrantInput, ISmartDbIssueDatabaseAllocationReadAccessGrantResult, ISmartDbRevokeDatabaseAllocationReadAccessGrantInput, ISmartDbRevokeDatabaseAllocationReadAccessGrantResult, ILocalSmartDbOfflineInspectionLimits, ILocalSmartDbOfflineStringValueInspection, TLocalSmartDbOfflineStringValueInspectionResult, TSmartDbCommitDatabasePublicationResult, TSmartDbResourceFenceErrorCode, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbDatabaseExportCollection, ISmartDbDatabaseExport, ISmartDbDatabaseExportLimits, ISmartDbExportDatabaseInput, ISmartDbDatabaseContentDigestLimits, ISmartDbGetDatabaseContentDigestInput, ISmartDbDatabaseContentDigest, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, } from './service-types.js';
|
|
6
6
|
export { SmartDbResourceFenceError, normalizeSmartDbResourceFenceError, smartDbResourceFenceErrorCodes, } from './service-types.js';
|
|
7
7
|
export type { TSmartDbEffectivePayloadInputV1 } from './resource-fencing.js';
|
|
8
8
|
export { createSmartDbEffectivePayloadSha256V1 } from './resource-fencing.js';
|
|
@@ -5,4 +5,4 @@ export { SmartdbServer } from './server/SmartdbServer.js';
|
|
|
5
5
|
export { RustDbBridge, SmartDbManagementOperationTerminationError, } from './rust-db-bridge.js';
|
|
6
6
|
export { SmartDbResourceFenceError, normalizeSmartDbResourceFenceError, smartDbResourceFenceErrorCodes, } from './service-types.js';
|
|
7
7
|
export { createSmartDbEffectivePayloadSha256V1 } from './resource-fencing.js';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy90c19zbWFydGRiL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUU5RCx5REFBeUQ7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUzFELHNFQUFzRTtBQUN0RSxPQUFPLEVBQ0wsWUFBWSxFQUNaLDBDQUEwQyxHQUMzQyxNQUFNLHFCQUFxQixDQUFDO0FBcUQ3QixPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGtDQUFrQyxFQUNsQyw4QkFBOEIsR0FDL0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQyJ9
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as plugins from './plugins.js';
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
|
-
import type { ISmartDbHealth, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbDatabaseExport, ISmartDbExportDatabaseInput, ISmartDbDatabaseContentDigest, ISmartDbGetDatabaseContentDigestInput, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, ILocalSmartDbOfflineStringValueInspection, TLocalSmartDbOfflineStringValueInspectionResult, TSmartDbCommitDatabasePublicationResult } from './service-types.js';
|
|
4
|
-
export type { ISmartDbHealth, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbDatabaseExportCollection, ISmartDbDatabaseExport, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, ISmartDbHeldPublicationReceipt, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, ILocalSmartDbOfflineInspectionLimits, ILocalSmartDbOfflineStringValueInspection, TLocalSmartDbOfflineStringValueInspectionResult, TSmartDbCommitDatabasePublicationResult, } from './service-types.js';
|
|
3
|
+
import type { ISmartDbHealth, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbIssueDatabaseAllocationReadAccessGrantInput, ISmartDbIssueDatabaseAllocationReadAccessGrantResult, ISmartDbRevokeDatabaseAllocationReadAccessGrantInput, ISmartDbRevokeDatabaseAllocationReadAccessGrantResult, ISmartDbDatabaseExport, ISmartDbExportDatabaseInput, ISmartDbDatabaseContentDigest, ISmartDbGetDatabaseContentDigestInput, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, ILocalSmartDbOfflineStringValueInspection, TLocalSmartDbOfflineStringValueInspectionResult, TSmartDbCommitDatabasePublicationResult } from './service-types.js';
|
|
4
|
+
export type { ISmartDbHealth, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbDatabaseAllocationReadAccessGrantIdentity, ISmartDbIssueDatabaseAllocationReadAccessGrantInput, ISmartDbIssueDatabaseAllocationReadAccessGrantResult, ISmartDbRevokeDatabaseAllocationReadAccessGrantInput, ISmartDbRevokeDatabaseAllocationReadAccessGrantResult, ISmartDbDatabaseExportCollection, ISmartDbDatabaseExport, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, ISmartDbHeldPublicationReceipt, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, ILocalSmartDbOfflineInspectionLimits, ILocalSmartDbOfflineStringValueInspection, TLocalSmartDbOfflineStringValueInspectionResult, TSmartDbCommitDatabasePublicationResult, } from './service-types.js';
|
|
5
5
|
/**
|
|
6
6
|
* A single oplog entry returned from the Rust engine.
|
|
7
7
|
*/
|
|
@@ -160,6 +160,8 @@ export declare class RustDbBridge extends EventEmitter {
|
|
|
160
160
|
ensureDatabaseTenant(params: ISmartDbEnsureDatabaseTenantInput, optionsArg?: ISmartDbManagementOperationOptions): Promise<ISmartDbEnsureDatabaseTenantResult>;
|
|
161
161
|
allocateDatabaseTenant(params: ISmartDbAllocateDatabaseTenantInput, optionsArg?: ISmartDbManagementOperationOptions): Promise<ISmartDbAllocateDatabaseTenantResult>;
|
|
162
162
|
deleteDatabaseTenant(params: ISmartDbDeleteDatabaseTenantInput, optionsArg?: ISmartDbManagementOperationOptions): Promise<ISmartDbDeleteDatabaseTenantResult>;
|
|
163
|
+
issueDatabaseAllocationReadAccessGrant(params: ISmartDbIssueDatabaseAllocationReadAccessGrantInput, optionsArg?: ISmartDbManagementOperationOptions): Promise<ISmartDbIssueDatabaseAllocationReadAccessGrantResult>;
|
|
164
|
+
revokeDatabaseAllocationReadAccessGrant(params: ISmartDbRevokeDatabaseAllocationReadAccessGrantInput, optionsArg?: ISmartDbManagementOperationOptions): Promise<ISmartDbRevokeDatabaseAllocationReadAccessGrantResult>;
|
|
163
165
|
rotateDatabaseTenantPassword(params: ISmartDbRotateDatabaseTenantPasswordInput): Promise<ISmartDbDatabaseTenantDescriptor>;
|
|
164
166
|
listDatabaseTenants(): Promise<ISmartDbDatabaseTenantDescriptor[]>;
|
|
165
167
|
getDatabaseTenantDescriptor(params: {
|
|
@@ -294,6 +294,24 @@ export class RustDbBridge extends EventEmitter {
|
|
|
294
294
|
throw normalizeSmartDbResourceFenceError(error);
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
|
+
async issueDatabaseAllocationReadAccessGrant(params, optionsArg) {
|
|
298
|
+
try {
|
|
299
|
+
return await this.bridge.sendCommand('issueDatabaseAllocationReadAccessGrant', params, optionsArg);
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
await this.awaitManagementOperationTermination(error);
|
|
303
|
+
throw normalizeSmartDbResourceFenceError(error);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
async revokeDatabaseAllocationReadAccessGrant(params, optionsArg) {
|
|
307
|
+
try {
|
|
308
|
+
return await this.bridge.sendCommand('revokeDatabaseAllocationReadAccessGrant', params, optionsArg);
|
|
309
|
+
}
|
|
310
|
+
catch (error) {
|
|
311
|
+
await this.awaitManagementOperationTermination(error);
|
|
312
|
+
throw normalizeSmartDbResourceFenceError(error);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
297
315
|
async rotateDatabaseTenantPassword(params) {
|
|
298
316
|
return this.bridge.sendCommand('rotateDatabaseTenantPassword', params);
|
|
299
317
|
}
|
|
@@ -366,4 +384,4 @@ export class RustDbBridge extends EventEmitter {
|
|
|
366
384
|
return this.bridge.sendCommand('getDocuments', { db, collection, limit, skip });
|
|
367
385
|
}
|
|
368
386
|
}
|
|
369
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzdC1kYi1icmlkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy90c19zbWFydGRiL3J1c3QtZGItYnJpZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sS0FBSyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUNMLDJDQUEyQyxFQUMzQyx5Q0FBeUMsR0FDMUMsTUFBTSx5QkFBeUIsQ0FBQztBQXNIakMsTUFBTSxPQUFPLDBDQUEyQyxTQUFRLGNBQWM7SUFDNUUsWUFBWSxpQkFBMEIsRUFBRSxtQkFBNEI7UUFDbEUsS0FBSyxDQUNILENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsRUFDeEMsZ0ZBQWdGLEVBQ2hGLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLENBQzdCLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLDRDQUE0QyxDQUFDO0lBQzNELENBQUM7Q0FDRjtBQTZJRDs7O0dBR0c7QUFDSCxTQUFTLGNBQWM7SUFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyx1QkFBdUI7SUFDOUIsTUFBTSxPQUFPLEdBQTJCLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxF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
|
|
387
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzdC1kYi1icmlkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy90c19zbWFydGRiL3J1c3QtZGItYnJpZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sS0FBSyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUNMLDJDQUEyQyxFQUMzQyx5Q0FBeUMsR0FDMUMsTUFBTSx5QkFBeUIsQ0FBQztBQStIakMsTUFBTSxPQUFPLDBDQUEyQyxTQUFRLGNBQWM7SUFDNUUsWUFBWSxpQkFBMEIsRUFBRSxtQkFBNEI7UUFDbEUsS0FBSyxDQUNILENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsRUFDeEMsZ0ZBQWdGLEVBQ2hGLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLENBQzdCLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLDRDQUE0QyxDQUFDO0lBQzNELENBQUM7Q0FDRjtBQXFKRDs7O0dBR0c7QUFDSCxTQUFTLGNBQWM7SUFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyx1QkFBdUI7SUFDOUIsTUFBTSxPQUFPLEdBQTJCLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxF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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IOpLogResult, IOpLogStats, IRevertResult, ICollectionInfo, IDocumentsResult, ISmartDbMetrics } from '../rust-db-bridge.js';
|
|
2
|
-
import type { ISmartDbHealth, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbDatabaseExport, ISmartDbExportDatabaseInput, ISmartDbDatabaseContentDigest, ISmartDbGetDatabaseContentDigestInput, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, TSmartDbCommitDatabasePublicationResult } from '../service-types.js';
|
|
2
|
+
import type { ISmartDbHealth, ISmartDbDatabaseTenantInput, ISmartDbEnsureDatabaseTenantInput, ISmartDbEnsureDatabaseTenantResult, ISmartDbAllocateDatabaseTenantInput, ISmartDbAllocateDatabaseTenantResult, ISmartDbDeleteDatabaseTenantInput, ISmartDbRotateDatabaseTenantPasswordInput, ISmartDbDatabaseTenantDescriptor, ISmartDbDeleteDatabaseTenantResult, ISmartDbIssueDatabaseAllocationReadAccessGrantInput, ISmartDbIssueDatabaseAllocationReadAccessGrantResult, ISmartDbRevokeDatabaseAllocationReadAccessGrantInput, ISmartDbRevokeDatabaseAllocationReadAccessGrantResult, ISmartDbDatabaseExport, ISmartDbExportDatabaseInput, ISmartDbDatabaseContentDigest, ISmartDbGetDatabaseContentDigestInput, ISmartDbImportDatabaseInput, ISmartDbImportDatabaseResult, ISmartDbCommitDatabasePublicationInput, ISmartDbManagementOperationOptions, ISmartDbDatabaseResourceFenceState, TSmartDbCommitDatabasePublicationResult } from '../service-types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Server configuration options
|
|
5
5
|
*/
|
|
@@ -122,6 +122,10 @@ export declare class SmartdbServer {
|
|
|
122
122
|
* Delete a tenant database and its tenant user(s).
|
|
123
123
|
*/
|
|
124
124
|
deleteDatabaseTenant(params: ISmartDbDeleteDatabaseTenantInput, optionsArg?: ISmartDbManagementOperationOptions): Promise<ISmartDbDeleteDatabaseTenantResult>;
|
|
125
|
+
/** Issue one fixed-expiry read grant bound to an exact active allocation. */
|
|
126
|
+
issueDatabaseAllocationReadAccessGrant(params: ISmartDbIssueDatabaseAllocationReadAccessGrantInput, optionsArg?: ISmartDbManagementOperationOptions): Promise<ISmartDbIssueDatabaseAllocationReadAccessGrantResult>;
|
|
127
|
+
/** Idempotently revoke one allocation read grant without returning a secret. */
|
|
128
|
+
revokeDatabaseAllocationReadAccessGrant(params: ISmartDbRevokeDatabaseAllocationReadAccessGrantInput, optionsArg?: ISmartDbManagementOperationOptions): Promise<ISmartDbRevokeDatabaseAllocationReadAccessGrantResult>;
|
|
125
129
|
/**
|
|
126
130
|
* Rotate a tenant user's password without restarting the server.
|
|
127
131
|
*/
|
|
@@ -309,6 +309,15 @@ export class SmartdbServer {
|
|
|
309
309
|
async deleteDatabaseTenant(params, optionsArg) {
|
|
310
310
|
return this.runDatabaseManagementOperation(() => this.bridge.deleteDatabaseTenant(params, optionsArg));
|
|
311
311
|
}
|
|
312
|
+
/** Issue one fixed-expiry read grant bound to an exact active allocation. */
|
|
313
|
+
async issueDatabaseAllocationReadAccessGrant(params, optionsArg) {
|
|
314
|
+
const descriptor = await this.runDatabaseManagementOperation(() => this.bridge.issueDatabaseAllocationReadAccessGrant(params, optionsArg));
|
|
315
|
+
return this.withTenantMongoUri(descriptor, params.password);
|
|
316
|
+
}
|
|
317
|
+
/** Idempotently revoke one allocation read grant without returning a secret. */
|
|
318
|
+
async revokeDatabaseAllocationReadAccessGrant(params, optionsArg) {
|
|
319
|
+
return this.runDatabaseManagementOperation(() => this.bridge.revokeDatabaseAllocationReadAccessGrant(params, optionsArg));
|
|
320
|
+
}
|
|
312
321
|
/**
|
|
313
322
|
* Rotate a tenant user's password without restarting the server.
|
|
314
323
|
*/
|
|
@@ -435,4 +444,4 @@ export class SmartdbServer {
|
|
|
435
444
|
return `mongodb://${auth}${host}/${encodeURIComponent(databaseName)}?${query.toString()}`;
|
|
436
445
|
}
|
|
437
446
|
}
|
|
438
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU21hcnRkYlNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL3RzX3NtYXJ0ZGIvc2VydmVyL1NtYXJ0ZGJTZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWiwwQ0FBMEMsR0FDM0MsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLG1DQUFtQyxFQUNuQyxlQUFlLEdBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUF3RnJGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQVV4QixZQUFZLFVBQWlDLEVBQUU7UUFQdkMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsMkJBQXNCLEdBQXlCLElBQUksQ0FBQztRQUNwRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLDBCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUlqQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksS0FBSztZQUMzQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxXQUFXO1lBQ2pDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxRQUFRO1lBQ3BDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFFBQVE7WUFDNUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxLQUFLO1lBQ3JELElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FB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
|
|
447
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU21hcnRkYlNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL3RzX3NtYXJ0ZGIvc2VydmVyL1NtYXJ0ZGJTZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWiwwQ0FBMEMsR0FDM0MsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLG1DQUFtQyxFQUNuQyxlQUFlLEdBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUE0RnJGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQVV4QixZQUFZLFVBQWlDLEVBQUU7UUFQdkMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsMkJBQXNCLEdBQXlCLElBQUksQ0FBQztRQUNwRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLDBCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUlqQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksS0FBSztZQUMzQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxXQUFXO1lBQ2pDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxRQUFRO1lBQ3BDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFFBQVE7WUFDNUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxLQUFLO1lBQ3JELElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FB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
|
|
@@ -8,6 +8,8 @@ export interface ISmartDbHealth {
|
|
|
8
8
|
allocationFencingVersion?: 1;
|
|
9
9
|
allocationFencingSupported?: boolean;
|
|
10
10
|
allocationFencingRequiresDrain?: true;
|
|
11
|
+
databaseAllocationReadAccessGrantVersion?: 1;
|
|
12
|
+
databaseAllocationReadAccessGrantSupported?: true;
|
|
11
13
|
publicationHoldVersion: 1;
|
|
12
14
|
publicationHoldSupported: boolean;
|
|
13
15
|
publicationHoldRequiresExternalDrain: boolean;
|
|
@@ -93,6 +95,41 @@ export interface ISmartDbDatabaseAllocationLifecycle {
|
|
|
93
95
|
bindingSha256: string;
|
|
94
96
|
receiptSha256: string;
|
|
95
97
|
}
|
|
98
|
+
export interface ISmartDbDatabaseAllocationReadAccessGrantIdentity {
|
|
99
|
+
version: 1;
|
|
100
|
+
grantId: string;
|
|
101
|
+
principalId: string;
|
|
102
|
+
generation: number;
|
|
103
|
+
}
|
|
104
|
+
export interface ISmartDbIssueDatabaseAllocationReadAccessGrantInput {
|
|
105
|
+
databaseName: string;
|
|
106
|
+
grantId: string;
|
|
107
|
+
username: string;
|
|
108
|
+
password: string;
|
|
109
|
+
allocation: ISmartDbDatabaseAllocationIdentity;
|
|
110
|
+
}
|
|
111
|
+
export interface ISmartDbIssueDatabaseAllocationReadAccessGrantResult {
|
|
112
|
+
databaseName: string;
|
|
113
|
+
username: string;
|
|
114
|
+
roles: ['read'];
|
|
115
|
+
authSource: string;
|
|
116
|
+
mongodbUri?: string;
|
|
117
|
+
allocation: ISmartDbDatabaseAllocationIdentity;
|
|
118
|
+
grant: ISmartDbDatabaseAllocationReadAccessGrantIdentity;
|
|
119
|
+
issuedAt: number;
|
|
120
|
+
expiresAt: number;
|
|
121
|
+
}
|
|
122
|
+
export interface ISmartDbRevokeDatabaseAllocationReadAccessGrantInput {
|
|
123
|
+
databaseName: string;
|
|
124
|
+
grantId: string;
|
|
125
|
+
allocation: ISmartDbDatabaseAllocationIdentity;
|
|
126
|
+
}
|
|
127
|
+
export interface ISmartDbRevokeDatabaseAllocationReadAccessGrantResult {
|
|
128
|
+
databaseName: string;
|
|
129
|
+
grantId: string;
|
|
130
|
+
allocation: ISmartDbDatabaseAllocationIdentity;
|
|
131
|
+
revoked: true;
|
|
132
|
+
}
|
|
96
133
|
export interface ISmartDbHeldPublicationReceipt extends ISmartDbResourceFenceReceipt {
|
|
97
134
|
provider: 'smartdb';
|
|
98
135
|
resourceIdSha256: string;
|
|
@@ -35,4 +35,4 @@ export const normalizeSmartDbResourceFenceError = (errorArg) => {
|
|
|
35
35
|
}
|
|
36
36
|
return new SmartDbResourceFenceError(match[1], match[2], error);
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3RzX3NtYXJ0ZGIvc2VydmljZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQ0EsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUc7SUFDNUMsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixhQUFhO0lBQ2IseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1QixpQkFBaUI7SUFDakIsc0NBQXNDO0lBQ3RDLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsa0NBQWtDO0lBQ2xDLDJCQUEyQjtDQUNuQixDQUFDO0FBNklYLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxLQUFLO0lBR2xELFlBQ0UsT0FBdUMsRUFDdkMsVUFBa0IsRUFDbEIsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLEdBQUcsT0FBTyxLQUFLLFVBQVUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksR0FBRywyQkFBMkIsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUNoRCxRQUFpQixFQUNWLEVBQUU7SUFDVCxNQUFNLEtBQUssR0FDVCxRQUFRLFlBQVksS0FBSztRQUN2QixDQUFDLENBQUMsUUFBUTtRQUNWLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNsQyxNQUFNLEtBQUssR0FBRyw2Q0FBNkMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLElBQ0UsQ0FBQyxLQUFLO1FBQ04sQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLENBQ3RDLEtBQUssQ0FBQyxDQUFDLENBQW1DLENBQzNDLEVBQ0QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsS0FBSyxDQUFDLENBQUMsQ0FBbUMsRUFDMUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUNSLEtBQUssQ0FDTixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -346,7 +346,7 @@ TLS is available for TCP listeners. `getConnectionUri()` includes `?tls=true` wh
|
|
|
346
346
|
|
|
347
347
|
Authentication verifies SCRAM credentials, denies unauthenticated commands, and enforces command-level built-in roles for supported operations. `connectionStatus` reports the authenticated users and roles for the current socket.
|
|
348
348
|
|
|
349
|
-
Supported built-in role names are `root`, `read`, `readWrite`, `dbAdmin`, `userAdmin`, `clusterMonitor`, plus `readAnyDatabase`, `readWriteAnyDatabase`, `dbAdminAnyDatabase`, and `userAdminAnyDatabase`. When `usersPath` is set, SmartDB persists SCRAM credential material atomically and does not store plaintext passwords.
|
|
349
|
+
Supported built-in role names are `root`, `read`, `readWrite`, `dbAdmin`, `userAdmin`, `clusterMonitor`, plus `readAnyDatabase`, `readWriteAnyDatabase`, `dbAdminAnyDatabase`, and `userAdminAnyDatabase`. When `usersPath` is set, SmartDB persists SCRAM credential material atomically and does not store plaintext passwords. Auth metadata version 3 contains protected decoy material, an immutable persisted SCRAM profile, allocation read-grant principals, and bounded anti-replay state. `auth.scramIterations` must match the profile already established by that `usersPath` on every later startup and in every attached process; SmartDB fails closed on a mismatch rather than attempting to rederive credentials without plaintext passwords. SmartDB 4.0.0 startup persistently rewrites exact version 2 owner metadata to version 3 without changing existing owner SCRAM material, principal identities, generations, or roles. This is a one-way major-version compatibility boundary: after migration, SmartDB 3.x must not be restarted against that `usersPath`. Unsupported versions and malformed auth or grant metadata fail closed.
|
|
350
350
|
|
|
351
351
|
On Linux, startup performs one narrow compatibility migration before the Rust engine opens `usersPath`: an effective-user-owned, single-link regular file with the exact legacy mode `0644` is changed to `0600`. Current `0600` files are left unchanged. Symlinks, hard links, unexpected modes or ownership, unsafe parent directories, cross-device targets, and identity changes remain fail-closed errors.
|
|
352
352
|
|
|
@@ -410,11 +410,38 @@ Pass the returned `allocation` identity to every later `ensureDatabaseTenant()`,
|
|
|
410
410
|
|
|
411
411
|
The provider marker `.__rustdb_allocation.json` is created and preserved by SmartDB, never accepted from an import payload, and never included in logical exports. The resource lock uses the distinct `smartdb-resource-allocation-managed-v1` marker. Pre-allocation binaries, including 2.18.1, interpret that lock marker as invalid and fail closed. Consequently, N-1 rollback of a storage root after allocation fencing has touched a name is intentionally unavailable; restore the allocation-aware binary rather than removing or editing provider metadata.
|
|
412
412
|
|
|
413
|
+
### Allocation-Bound Read Access Grants
|
|
414
|
+
|
|
415
|
+
Scratch diagnostics can use `issueDatabaseAllocationReadAccessGrant()` to create one auxiliary read principal for an exact active allocation. The capability is advertised only when `databaseAllocationReadAccessGrantVersion === 1` and `databaseAllocationReadAccessGrantSupported === true`; this requires file storage, enabled authentication, a durable `usersPath` bound to the storage root, and ready allocation fencing. The caller supplies `databaseName`, a bounded `grantId`, a bounded unique `username`, `password`, and the complete `ISmartDbDatabaseAllocationIdentity`. Roles and expiry are not caller-controlled. SmartDB always assigns exactly `['read']` and a fixed, non-renewing 12-minute expiry.
|
|
416
|
+
|
|
417
|
+
```typescript
|
|
418
|
+
const grant = await server.issueDatabaseAllocationReadAccessGrant({
|
|
419
|
+
databaseName: allocation.databaseName,
|
|
420
|
+
grantId: 'scratch-diagnostic-2026-08-08',
|
|
421
|
+
username: 'scratch_diagnostic_reader',
|
|
422
|
+
password: generatedSecret,
|
|
423
|
+
allocation,
|
|
424
|
+
});
|
|
425
|
+
|
|
426
|
+
const diagnosticClient = new MongoClient(grant.mongodbUri!, {
|
|
427
|
+
directConnection: true,
|
|
428
|
+
});
|
|
429
|
+
await diagnosticClient.connect();
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
Exact issue replay validates the candidate password against the persisted SCRAM credential and returns the original principal generation, `issuedAt`, and `expiresAt` only while that grant remains active and unexpired; it never renews the grant. Expired or revoked `grantId` values are rejected. SmartDB permits at most one active read grant per allocation. Revoked and expired `grantId` values remain in a per-allocation anti-replay set capped at 1,024 entries, with no eviction while the allocation exists. Capacity exhaustion fails closed. Allocation deprovision uses a two-phase fail-closed sequence: any active grant is first durably retired and tombstoned, then the database is durably deleted, and finally the exact owner plus that allocation's replay state are removed in one auth rewrite. Interruption before completion leaves the grant retired rather than usable.
|
|
433
|
+
|
|
434
|
+
Active allocation read grants never survive a SmartDB engine restart or a new attachment to the durable auth store. Startup durably retires and tombstones them before accepting work; diagnostics must issue a new `grantId`, username, and credential after restart.
|
|
435
|
+
|
|
436
|
+
Grant principals can read only their exact allocation database. Reads, collection/index metadata, and read-only transactions are supported. Writes, DDL, user/admin operations, writing aggregates (`$out` and `$merge`), cross-database targets, and allocation ownership changes are denied. Revocation, expiry cleanup, and allocation deprovision abort matching logical sessions and transactions, release retained database permits, and remove matching cursors. Stale sockets fail their next command.
|
|
437
|
+
|
|
438
|
+
`revokeDatabaseAllocationReadAccessGrant()` takes `databaseName`, `grantId`, and the complete allocation identity, returns `{ revoked: true }` without a secret, and is idempotent. Revoke-before-issue records anti-replay state only while a read permit proves that exact allocation is current. A delayed revoke after deprovision returns success without recreating auth metadata.
|
|
439
|
+
|
|
413
440
|
`exportDatabase()` drains live MongoDB wire commands for the selected database and holds an exclusive local and cross-process database lease while producing the snapshot. The export is therefore consistent across all collections. It enforces server ceilings while visiting documents instead of first materializing an unbounded database; callers can request lower `maxEncodedBytes`, `maxCollections`, `maxDocuments`, and `maxIndexes` limits. The result emits canonical MongoDB Extended JSON so every BSON type, including 64-bit integers, survives the JSON management channel exactly. `importDatabase()` accepts canonical or relaxed Extended JSON. Database migration clients should preserve the exported objects as JSON values and must not coerce Extended JSON numeric wrappers into JavaScript numbers.
|
|
414
441
|
|
|
415
442
|
`getDatabaseContentDigest()` computes a bounded, database-name-independent SHA-256 over collection names, exact BSON document bytes, and persisted index specifications. Collection, document, and index enumeration order is normalized; BSON field order and compound-index key order remain significant. `ISmartDbGetDatabaseContentDigestInput` accepts `databaseName` and optional `ISmartDbDatabaseContentDigestLimits` fields `maxScannedBsonBytes`, `maxCollections`, `maxDocuments`, and `maxIndexes`. Callers may lower the server ceilings of 96 MiB scanned BSON, 10,000 collections, 1,000,000 documents, and 100,000 indexes. The `ISmartDbDatabaseContentDigest` result reports format `smartdb.database.content-digest.v1`, algorithm `sha256`, the lowercase digest, and exact scan counters.
|
|
416
443
|
|
|
417
|
-
`SmartdbServer.start()` and the lifecycle-critical health, fence-state, digest, export, import, publication-commit, tenant-allocation, tenant-ensure,
|
|
444
|
+
`SmartdbServer.start()` and the lifecycle-critical health, fence-state, digest, export, import, publication-commit, tenant-allocation, tenant-ensure, tenant-delete, read-grant issue, and read-grant revoke methods accept optional `ISmartDbManagementOperationOptions` with `signal?: AbortSignal` and `timeoutMs?: number`. `timeoutMs`, when provided, must be a positive safe integer no greater than `2,147,483,647`. Startup applies both cancellation and one deadline across legacy storage migration, sidecar spawn, auth metadata migration, and database readiness. Cancellation and deadlines are fail-stop once the sidecar is owned: SmartDB attempts to terminate the Rust engine before rejecting. Once termination is confirmed, the operation cannot continue after the caller releases ownership. If termination itself fails, the rejection retains bridge ownership and the service owner must retry `stop()` until it succeeds. After cancellation or deadline termination, restart SmartDB before accepting more traffic.
|
|
418
445
|
|
|
419
446
|
```typescript
|
|
420
447
|
const controller = new AbortController();
|
|
@@ -455,6 +482,8 @@ await client.db('admin').command({ usersInfo: 'reader' });
|
|
|
455
482
|
| `getDocuments(db, coll, limit?, skip?)` | `Promise<IDocumentsResult>` | Browse documents with pagination |
|
|
456
483
|
| `getHealth(options?)` | `Promise<ISmartDbHealth>` | Read readiness and explicit publication-hold capability fields with optional fail-stop cancellation/deadline ownership |
|
|
457
484
|
| `allocateDatabaseTenant(params, options?)` | `Promise<ISmartDbAllocateDatabaseTenantResult>` | Authoritatively allocate an absent file-backed tenant and return its durable allocation identity; supports fail-stop cancellation and deadlines |
|
|
485
|
+
| `issueDatabaseAllocationReadAccessGrant(params, options?)` | `Promise<ISmartDbIssueDatabaseAllocationReadAccessGrantResult>` | Issue or exactly replay one fixed 12-minute read grant bound to the complete active allocation identity |
|
|
486
|
+
| `revokeDatabaseAllocationReadAccessGrant(params, options?)` | `Promise<ISmartDbRevokeDatabaseAllocationReadAccessGrantResult>` | Idempotently revoke/tombstone one exact allocation read grant and invalidate its live runtime state |
|
|
458
487
|
| `ensureDatabaseTenant(params, options?)` | `Promise<ISmartDbEnsureDatabaseTenantResult>` | Idempotently ensure an exact fenced tenant; supports fail-stop cancellation and deadlines |
|
|
459
488
|
| `getDatabaseResourceFenceState(params, options?)` | `Promise<ISmartDbDatabaseResourceFenceState \| null>` | Safely inspect a file-backed database fence high-water mark and publication phase without exposing receipts or capability material; supports fail-stop cancellation and deadlines |
|
|
460
489
|
| `getDatabaseContentDigest(params, options?)` | `Promise<ISmartDbDatabaseContentDigest>` | Compute a bounded, database-name-independent digest over exact BSON documents and persisted index specifications; supports fail-stop cancellation and deadlines |
|
package/ts/00_commitinfo_data.ts
CHANGED
package/ts/index.ts
CHANGED
|
@@ -42,6 +42,11 @@ export type {
|
|
|
42
42
|
ISmartDbDatabaseResourceFenceState,
|
|
43
43
|
ISmartDbDatabaseAllocationIdentity,
|
|
44
44
|
ISmartDbDatabaseAllocationLifecycle,
|
|
45
|
+
ISmartDbDatabaseAllocationReadAccessGrantIdentity,
|
|
46
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantInput,
|
|
47
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantResult,
|
|
48
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantInput,
|
|
49
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantResult,
|
|
45
50
|
TSmartDbCommitDatabasePublicationResult,
|
|
46
51
|
TSmartDbResourceFenceErrorCode,
|
|
47
52
|
ISmartDbDatabaseTenantInput,
|
package/ts/ts_smartdb/index.ts
CHANGED
|
@@ -38,6 +38,11 @@ export type {
|
|
|
38
38
|
ISmartDbDatabaseResourceFenceState,
|
|
39
39
|
ISmartDbDatabaseAllocationIdentity,
|
|
40
40
|
ISmartDbDatabaseAllocationLifecycle,
|
|
41
|
+
ISmartDbDatabaseAllocationReadAccessGrantIdentity,
|
|
42
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantInput,
|
|
43
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantResult,
|
|
44
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantInput,
|
|
45
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantResult,
|
|
41
46
|
ILocalSmartDbOfflineInspectionLimits,
|
|
42
47
|
ILocalSmartDbOfflineStringValueInspection,
|
|
43
48
|
TLocalSmartDbOfflineStringValueInspectionResult,
|
|
@@ -18,6 +18,10 @@ import type {
|
|
|
18
18
|
ISmartDbRotateDatabaseTenantPasswordInput,
|
|
19
19
|
ISmartDbDatabaseTenantDescriptor,
|
|
20
20
|
ISmartDbDeleteDatabaseTenantResult,
|
|
21
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantInput,
|
|
22
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantResult,
|
|
23
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantInput,
|
|
24
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantResult,
|
|
21
25
|
ISmartDbDatabaseExport,
|
|
22
26
|
ISmartDbExportDatabaseInput,
|
|
23
27
|
ISmartDbDatabaseContentDigest,
|
|
@@ -43,6 +47,11 @@ export type {
|
|
|
43
47
|
ISmartDbRotateDatabaseTenantPasswordInput,
|
|
44
48
|
ISmartDbDatabaseTenantDescriptor,
|
|
45
49
|
ISmartDbDeleteDatabaseTenantResult,
|
|
50
|
+
ISmartDbDatabaseAllocationReadAccessGrantIdentity,
|
|
51
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantInput,
|
|
52
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantResult,
|
|
53
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantInput,
|
|
54
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantResult,
|
|
46
55
|
ISmartDbDatabaseExportCollection,
|
|
47
56
|
ISmartDbDatabaseExport,
|
|
48
57
|
ISmartDbImportDatabaseInput,
|
|
@@ -183,6 +192,14 @@ type TSmartDbCommands = {
|
|
|
183
192
|
params: ISmartDbDeleteDatabaseTenantInput;
|
|
184
193
|
result: ISmartDbDeleteDatabaseTenantResult;
|
|
185
194
|
};
|
|
195
|
+
issueDatabaseAllocationReadAccessGrant: {
|
|
196
|
+
params: ISmartDbIssueDatabaseAllocationReadAccessGrantInput;
|
|
197
|
+
result: ISmartDbIssueDatabaseAllocationReadAccessGrantResult;
|
|
198
|
+
};
|
|
199
|
+
revokeDatabaseAllocationReadAccessGrant: {
|
|
200
|
+
params: ISmartDbRevokeDatabaseAllocationReadAccessGrantInput;
|
|
201
|
+
result: ISmartDbRevokeDatabaseAllocationReadAccessGrantResult;
|
|
202
|
+
};
|
|
186
203
|
rotateDatabaseTenantPassword: {
|
|
187
204
|
params: ISmartDbRotateDatabaseTenantPasswordInput;
|
|
188
205
|
result: ISmartDbDatabaseTenantDescriptor;
|
|
@@ -659,6 +676,38 @@ export class RustDbBridge extends EventEmitter {
|
|
|
659
676
|
}
|
|
660
677
|
}
|
|
661
678
|
|
|
679
|
+
public async issueDatabaseAllocationReadAccessGrant(
|
|
680
|
+
params: ISmartDbIssueDatabaseAllocationReadAccessGrantInput,
|
|
681
|
+
optionsArg?: ISmartDbManagementOperationOptions,
|
|
682
|
+
): Promise<ISmartDbIssueDatabaseAllocationReadAccessGrantResult> {
|
|
683
|
+
try {
|
|
684
|
+
return await this.bridge.sendCommand(
|
|
685
|
+
'issueDatabaseAllocationReadAccessGrant',
|
|
686
|
+
params,
|
|
687
|
+
optionsArg,
|
|
688
|
+
) as ISmartDbIssueDatabaseAllocationReadAccessGrantResult;
|
|
689
|
+
} catch (error) {
|
|
690
|
+
await this.awaitManagementOperationTermination(error);
|
|
691
|
+
throw normalizeSmartDbResourceFenceError(error);
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
public async revokeDatabaseAllocationReadAccessGrant(
|
|
696
|
+
params: ISmartDbRevokeDatabaseAllocationReadAccessGrantInput,
|
|
697
|
+
optionsArg?: ISmartDbManagementOperationOptions,
|
|
698
|
+
): Promise<ISmartDbRevokeDatabaseAllocationReadAccessGrantResult> {
|
|
699
|
+
try {
|
|
700
|
+
return await this.bridge.sendCommand(
|
|
701
|
+
'revokeDatabaseAllocationReadAccessGrant',
|
|
702
|
+
params,
|
|
703
|
+
optionsArg,
|
|
704
|
+
) as ISmartDbRevokeDatabaseAllocationReadAccessGrantResult;
|
|
705
|
+
} catch (error) {
|
|
706
|
+
await this.awaitManagementOperationTermination(error);
|
|
707
|
+
throw normalizeSmartDbResourceFenceError(error);
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
|
|
662
711
|
public async rotateDatabaseTenantPassword(
|
|
663
712
|
params: ISmartDbRotateDatabaseTenantPasswordInput,
|
|
664
713
|
): Promise<ISmartDbDatabaseTenantDescriptor> {
|
|
@@ -28,6 +28,10 @@ import type {
|
|
|
28
28
|
ISmartDbRotateDatabaseTenantPasswordInput,
|
|
29
29
|
ISmartDbDatabaseTenantDescriptor,
|
|
30
30
|
ISmartDbDeleteDatabaseTenantResult,
|
|
31
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantInput,
|
|
32
|
+
ISmartDbIssueDatabaseAllocationReadAccessGrantResult,
|
|
33
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantInput,
|
|
34
|
+
ISmartDbRevokeDatabaseAllocationReadAccessGrantResult,
|
|
31
35
|
ISmartDbDatabaseExport,
|
|
32
36
|
ISmartDbExportDatabaseInput,
|
|
33
37
|
ISmartDbDatabaseContentDigest,
|
|
@@ -463,6 +467,27 @@ export class SmartdbServer {
|
|
|
463
467
|
);
|
|
464
468
|
}
|
|
465
469
|
|
|
470
|
+
/** Issue one fixed-expiry read grant bound to an exact active allocation. */
|
|
471
|
+
async issueDatabaseAllocationReadAccessGrant(
|
|
472
|
+
params: ISmartDbIssueDatabaseAllocationReadAccessGrantInput,
|
|
473
|
+
optionsArg?: ISmartDbManagementOperationOptions,
|
|
474
|
+
): Promise<ISmartDbIssueDatabaseAllocationReadAccessGrantResult> {
|
|
475
|
+
const descriptor = await this.runDatabaseManagementOperation(
|
|
476
|
+
() => this.bridge.issueDatabaseAllocationReadAccessGrant(params, optionsArg),
|
|
477
|
+
);
|
|
478
|
+
return this.withTenantMongoUri(descriptor, params.password);
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
/** Idempotently revoke one allocation read grant without returning a secret. */
|
|
482
|
+
async revokeDatabaseAllocationReadAccessGrant(
|
|
483
|
+
params: ISmartDbRevokeDatabaseAllocationReadAccessGrantInput,
|
|
484
|
+
optionsArg?: ISmartDbManagementOperationOptions,
|
|
485
|
+
): Promise<ISmartDbRevokeDatabaseAllocationReadAccessGrantResult> {
|
|
486
|
+
return this.runDatabaseManagementOperation(
|
|
487
|
+
() => this.bridge.revokeDatabaseAllocationReadAccessGrant(params, optionsArg),
|
|
488
|
+
);
|
|
489
|
+
}
|
|
490
|
+
|
|
466
491
|
/**
|
|
467
492
|
* Rotate a tenant user's password without restarting the server.
|
|
468
493
|
*/
|
|
@@ -8,6 +8,8 @@ export interface ISmartDbHealth {
|
|
|
8
8
|
allocationFencingVersion?: 1;
|
|
9
9
|
allocationFencingSupported?: boolean;
|
|
10
10
|
allocationFencingRequiresDrain?: true;
|
|
11
|
+
databaseAllocationReadAccessGrantVersion?: 1;
|
|
12
|
+
databaseAllocationReadAccessGrantSupported?: true;
|
|
11
13
|
publicationHoldVersion: 1;
|
|
12
14
|
publicationHoldSupported: boolean;
|
|
13
15
|
publicationHoldRequiresExternalDrain: boolean;
|
|
@@ -124,6 +126,46 @@ export interface ISmartDbDatabaseAllocationLifecycle {
|
|
|
124
126
|
receiptSha256: string;
|
|
125
127
|
}
|
|
126
128
|
|
|
129
|
+
export interface ISmartDbDatabaseAllocationReadAccessGrantIdentity {
|
|
130
|
+
version: 1;
|
|
131
|
+
grantId: string;
|
|
132
|
+
principalId: string;
|
|
133
|
+
generation: number;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export interface ISmartDbIssueDatabaseAllocationReadAccessGrantInput {
|
|
137
|
+
databaseName: string;
|
|
138
|
+
grantId: string;
|
|
139
|
+
username: string;
|
|
140
|
+
password: string;
|
|
141
|
+
allocation: ISmartDbDatabaseAllocationIdentity;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export interface ISmartDbIssueDatabaseAllocationReadAccessGrantResult {
|
|
145
|
+
databaseName: string;
|
|
146
|
+
username: string;
|
|
147
|
+
roles: ['read'];
|
|
148
|
+
authSource: string;
|
|
149
|
+
mongodbUri?: string;
|
|
150
|
+
allocation: ISmartDbDatabaseAllocationIdentity;
|
|
151
|
+
grant: ISmartDbDatabaseAllocationReadAccessGrantIdentity;
|
|
152
|
+
issuedAt: number;
|
|
153
|
+
expiresAt: number;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface ISmartDbRevokeDatabaseAllocationReadAccessGrantInput {
|
|
157
|
+
databaseName: string;
|
|
158
|
+
grantId: string;
|
|
159
|
+
allocation: ISmartDbDatabaseAllocationIdentity;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export interface ISmartDbRevokeDatabaseAllocationReadAccessGrantResult {
|
|
163
|
+
databaseName: string;
|
|
164
|
+
grantId: string;
|
|
165
|
+
allocation: ISmartDbDatabaseAllocationIdentity;
|
|
166
|
+
revoked: true;
|
|
167
|
+
}
|
|
168
|
+
|
|
127
169
|
export interface ISmartDbHeldPublicationReceipt
|
|
128
170
|
extends ISmartDbResourceFenceReceipt {
|
|
129
171
|
provider: 'smartdb';
|