fix(build): rename npmextra config to .smartconfig and refresh build metadata
This commit is contained in:
@@ -589,6 +589,26 @@ Get connection details for S3-compatible clients. Returns:
|
||||
| `accessSecret` | `string` | Secret key from first configured credential |
|
||||
| `useSsl` | `boolean` | Always `false` (plain HTTP) |
|
||||
|
||||
#### `getStorageStats(): Promise<IStorageStats>`
|
||||
|
||||
Read cached logical bucket and object totals from the Rust runtime without issuing S3 list calls.
|
||||
|
||||
#### `listBucketSummaries(): Promise<IBucketSummary[]>`
|
||||
|
||||
Get per-bucket logical object counts and total payload sizes.
|
||||
|
||||
#### `listCredentials(): Promise<IStorageCredential[]>`
|
||||
|
||||
Return the currently active runtime credential set.
|
||||
|
||||
#### `replaceCredentials(credentials: IStorageCredential[]): Promise<void>`
|
||||
|
||||
Atomically replace the active runtime credential set without restarting the server.
|
||||
|
||||
#### `getClusterHealth(): Promise<IClusterHealth>`
|
||||
|
||||
Read the Rust core's current cluster, drive, quorum, and repair health snapshot. Standalone mode returns `{ enabled: false }`.
|
||||
|
||||
## Architecture
|
||||
|
||||
smartstorage uses a **hybrid Rust + TypeScript** architecture:
|
||||
@@ -622,7 +642,7 @@ smartstorage uses a **hybrid Rust + TypeScript** architecture:
|
||||
|
||||
**Why Rust?** The original TypeScript implementation had critical perf issues: OOM on multipart uploads (parts buffered in memory), double stream copying, file descriptor leaks on HEAD requests, full-file reads for range requests, and no backpressure. The Rust binary solves all of these with streaming I/O, zero-copy, and direct `seek()` for range requests.
|
||||
|
||||
**IPC Protocol:** TypeScript spawns the `ruststorage` binary with `--management` and communicates via newline-delimited JSON over stdin/stdout. Commands: `start`, `stop`, `createBucket`, `clusterStatus`.
|
||||
**IPC Protocol:** TypeScript communicates with the `ruststorage` binary over newline-delimited JSON via stdin/stdout. The current management commands are `start`, `stop`, `createBucket`, `getStorageStats`, `listBucketSummaries`, `listCredentials`, `replaceCredentials`, and `getClusterHealth`.
|
||||
|
||||
### S3-Compatible Operations
|
||||
|
||||
|
||||
Reference in New Issue
Block a user