Files
heygermany-e2e-mrg3vnfz/packages/functions/src/config.js
e2e 81ea8ef5d1
Some checks failed
Main / Setup and Test (push) Has been cancelled
Main / Build Website (push) Has been cancelled
chore: heygermany customer project
2026-07-11 10:31:48 +02:00

41 lines
1.7 KiB
JavaScript

import { LogLevel } from '@pikku/core/services';
import { globalBundlePem } from '../config/global-bundle.js';
import { pikkuConfig } from '#pikku/pikku-types.gen.js';
import { LOCAL_SQLITE_DB } from './local-db.js';
const { DOMAIN } = process.env;
const requireInProduction = (value, name) => {
if (process.env.NODE_ENV === 'production' && !value) {
throw new Error(`${name} must be configured in production`);
}
return value;
};
export const createConfig = pikkuConfig(async (variablesService) => ({
domain: requireInProduction(DOMAIN, 'DOMAIN') || 'localhost:3001',
sqliteDb: process.env.SQLITE_DB || LOCAL_SQLITE_DB,
port: 4002,
hostname: '0.0.0.0',
logLevel: LogLevel.info,
content: {
localFileUploadPath: process.env.CONTENT_LOCAL_FILE_UPLOAD_PATH || '../../.uploads',
uploadUrlPrefix: process.env.CONTENT_UPLOAD_URL_PREFIX ||
`${(process.env.API_ORIGIN || (DOMAIN ? `https://api.${DOMAIN}` : 'http://localhost:3000')).replace(/\/$/, '')}/reaper/`,
assetUrlPrefix: process.env.CONTENT_ASSET_URL_PREFIX || '/assets',
server: process.env.CONTENT_SERVER ||
process.env.API_ORIGIN ||
(DOMAIN ? `https://api.${DOMAIN}` : 'http://localhost:3000'),
},
secrets: {
mailgunApiKey: 'MAILGUN_API_KEY'
},
sql: {
ssl: variablesService?.get('NODE_ENV') === 'production' ? {
rejectUnauthorized: true,
ca: globalBundlePem
} : undefined
},
apiKeys: process.env.API_KEYS?.split(',')
.map((key) => key.trim())
.filter(Boolean) ||
(process.env.NODE_ENV === 'production' ? [] : ['dev-api-key']),
}));
//# sourceMappingURL=config.js.map