44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
const path = require('path');
|
|
|
|
const rootDir = path.resolve(__dirname, '..');
|
|
const dataDir = process.env.DATA_DIR
|
|
? path.resolve(process.env.DATA_DIR)
|
|
: path.join(rootDir, 'data');
|
|
|
|
const resourceTypeToDirName = {
|
|
tenant: 'tenants',
|
|
node: 'nodes',
|
|
service: 'services',
|
|
deployment: 'deployments',
|
|
resource_limits: 'resource-limits',
|
|
network: 'networks',
|
|
volume: 'volumes',
|
|
};
|
|
|
|
function getResourceDir(resourceType) {
|
|
const dirName = resourceTypeToDirName[resourceType];
|
|
|
|
if (!dirName) {
|
|
throw new Error(`Unknown resource type: ${resourceType}`);
|
|
}
|
|
|
|
return path.join(dataDir, 'resources', dirName);
|
|
}
|
|
|
|
module.exports = {
|
|
rootDir,
|
|
dataDir,
|
|
resourceTypeToDirName,
|
|
getResourceDir,
|
|
resourcesDir: path.join(dataDir, 'resources'),
|
|
workOrdersPendingDir: path.join(dataDir, 'work-orders', 'pending'),
|
|
workOrdersRunningDir: path.join(dataDir, 'work-orders', 'running'),
|
|
workOrdersFinishedDir: path.join(dataDir, 'work-orders', 'finished'),
|
|
eventsDir: path.join(dataDir, 'events'),
|
|
logsDir: path.join(dataDir, 'logs'),
|
|
snapshotsSystemDir: path.join(dataDir, 'snapshots', 'system'),
|
|
snapshotsTenantsDir: path.join(dataDir, 'snapshots', 'tenants'),
|
|
idempotencyDir: path.join(dataDir, 'idempotency'),
|
|
authNodesDir: path.join(dataDir, 'auth', 'nodes'),
|
|
};
|