fix(build): rename npmextra config to .smartconfig and refresh build metadata

This commit is contained in:
2026-04-19 12:22:53 +00:00
parent 0e9862efca
commit 0db138bf42
9 changed files with 1638 additions and 1739 deletions
+21 -1
View File
@@ -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