Files
Webklar-Kundenbereich/runner/src/config.js
T

24 lines
1.0 KiB
JavaScript

// Konfiguration aus Umgebungsvariablen. Pfade sind HOST-Pfade (R6): der Runner mountet sie identisch.
export function loadConfig(env = process.env) {
const analyticsPublicBase = env.ANALYTICS_PUBLIC_BASE || 'https://project.webklar.com/a/';
if (!/^https:\/\/[^\s"'<>]+\/$/.test(analyticsPublicBase)) throw new Error('ANALYTICS_PUBLIC_BASE muss mit https:// beginnen und mit / enden');
return {
analyticsPublicBase,
token: env.PREVIEW_RUNNER_TOKEN || '',
giteaUrl: env.GITEA_URL || '',
giteaToken: env.GITEA_TOKEN || '',
baseHost: env.PREVIEW_BASE_HOST || 'project.webklar.com',
previewsRoot: env.PREVIEWS_ROOT || '/var/www/previews',
workRoot: env.RUNNER_WORK_ROOT || '/srv/webklar-preview-runner/work',
cacheRoot: env.RUNNER_CACHE_ROOT || '/srv/webklar-preview-runner/cache',
sandboxSubnet: env.PREVIEW_SANDBOX_SUBNET || '172.30.0.0/24',
apiPort: 8080,
proxyPort: 8081,
minFreeBytes: 1.5 * 1024 ** 3,
buildTimeoutMs: 15 * 60e3,
devIdleMs: 20 * 60e3,
devMax: 3,
devReadyMs: 180e3,
};
}