mirror of
https://github.com/Unleash/unleash.git
synced 2024-11-01 19:07:38 +01:00
82 lines
3.1 KiB
TypeScript
82 lines
3.1 KiB
TypeScript
import { start } from './lib/server-impl';
|
|
import { createConfig } from './lib/create-config';
|
|
import { LogLevel } from './lib/logger';
|
|
import { ApiTokenType } from './lib/types/models/api-token';
|
|
|
|
process.nextTick(async () => {
|
|
try {
|
|
await start(
|
|
createConfig({
|
|
db: process.env.DATABASE_URL
|
|
? undefined
|
|
: {
|
|
user: 'unleash_user',
|
|
password: 'password',
|
|
host: 'localhost',
|
|
port: 5432,
|
|
database:
|
|
process.env.UNLEASH_DATABASE_NAME || 'unleash',
|
|
schema: process.env.UNLEASH_DATABASE_SCHEMA,
|
|
ssl: false,
|
|
applicationName: 'unleash',
|
|
},
|
|
server: {
|
|
enableRequestLogger: true,
|
|
baseUriPath: '',
|
|
// keepAliveTimeout: 1,
|
|
gracefulShutdownEnable: true,
|
|
// cdnPrefix: 'https://cdn.getunleash.io/unleash/v4.4.1',
|
|
enableHeapSnapshotEnpoint: true,
|
|
},
|
|
logLevel: LogLevel.debug,
|
|
secureHeaders: false,
|
|
versionCheck: {
|
|
enable: false,
|
|
},
|
|
experimental: {
|
|
// externalResolver: unleash,
|
|
flags: {
|
|
embedProxy: true,
|
|
embedProxyFrontend: true,
|
|
anonymiseEventLog: false,
|
|
responseTimeWithAppNameKillSwitch: false,
|
|
featureSearchAPI: true,
|
|
featureSearchFrontend: true,
|
|
stripClientHeadersOn304: true,
|
|
newStrategyConfiguration: true,
|
|
stripHeadersOnAPI: true,
|
|
celebrateUnleash: true,
|
|
increaseUnleashWidth: true,
|
|
},
|
|
},
|
|
authentication: {
|
|
initApiTokens: [
|
|
{
|
|
environment: '*',
|
|
project: '*',
|
|
secret: '*:*.964a287e1b728cb5f4f3e0120df92cb5',
|
|
type: ApiTokenType.ADMIN,
|
|
tokenName: 'some-user',
|
|
},
|
|
],
|
|
},
|
|
/* can be tweaked to control configuration caching for /api/client/features
|
|
clientFeatureCaching: {
|
|
enabled: true,
|
|
maxAge: 4000,
|
|
},
|
|
*/
|
|
}),
|
|
);
|
|
} catch (error) {
|
|
if (error.code === 'EADDRINUSE') {
|
|
// eslint-disable-next-line no-console
|
|
console.warn('Port in use. You might want to reload once more.');
|
|
} else {
|
|
// eslint-disable-next-line no-console
|
|
console.error(error);
|
|
process.exit();
|
|
}
|
|
}
|
|
}, 0);
|