42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
export interface IObjectStorageConfig {
|
|
objstPort: number;
|
|
uiPort: number;
|
|
storageDirectory: string;
|
|
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 = {
|
|
objstPort: 9000,
|
|
uiPort: 3000,
|
|
storageDirectory: '/data',
|
|
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,
|
|
};
|