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'), };