feat(cluster): add cluster configuration support across server, CLI, and admin UI
This commit is contained in:
24
ts/types.ts
24
ts/types.ts
@@ -5,6 +5,20 @@ export interface IObjectStorageConfig {
|
||||
accessCredentials: Array<{ accessKeyId: string; secretAccessKey: string }>;
|
||||
adminPassword: string;
|
||||
region: string;
|
||||
// Cluster
|
||||
clusterEnabled: boolean;
|
||||
clusterNodeId: string;
|
||||
clusterQuicPort: number;
|
||||
clusterSeedNodes: string[];
|
||||
// Erasure coding
|
||||
erasureDataShards: number;
|
||||
erasureParityShards: number;
|
||||
erasureChunkSizeBytes: number;
|
||||
// Multi-drive
|
||||
drivePaths: string[];
|
||||
// Cluster heartbeat
|
||||
clusterHeartbeatIntervalMs: number;
|
||||
clusterHeartbeatTimeoutMs: number;
|
||||
}
|
||||
|
||||
export const defaultConfig: IObjectStorageConfig = {
|
||||
@@ -14,4 +28,14 @@ export const defaultConfig: IObjectStorageConfig = {
|
||||
accessCredentials: [{ accessKeyId: 'admin', secretAccessKey: 'admin' }],
|
||||
adminPassword: 'admin',
|
||||
region: 'us-east-1',
|
||||
clusterEnabled: false,
|
||||
clusterNodeId: '',
|
||||
clusterQuicPort: 4433,
|
||||
clusterSeedNodes: [],
|
||||
erasureDataShards: 4,
|
||||
erasureParityShards: 2,
|
||||
erasureChunkSizeBytes: 4194304,
|
||||
drivePaths: [],
|
||||
clusterHeartbeatIntervalMs: 5000,
|
||||
clusterHeartbeatTimeoutMs: 30000,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user