38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
export * from './00_commitinfo_data.js';
|
|
|
|
// Re-export smartmta (excluding commitinfo to avoid naming conflict)
|
|
export { UnifiedEmailServer } from '@push.rocks/smartmta';
|
|
export type { IUnifiedEmailServerOptions, IEmailRoute, IEmailDomainConfig } from '@push.rocks/smartmta';
|
|
|
|
// DcRouter
|
|
import { DcRouter } from './classes.dcrouter.js';
|
|
export * from './classes.dcrouter.js';
|
|
|
|
// RADIUS module
|
|
export * from './radius/index.js';
|
|
|
|
// Remote Ingress module
|
|
export * from './remoteingress/index.js';
|
|
|
|
export const runCli = async () => {
|
|
let options: import('./classes.dcrouter.js').IDcRouterOptions = {};
|
|
|
|
if (process.env.DCROUTER_MODE === 'OCI_CONTAINER') {
|
|
const { getOciContainerConfig } = await import('../ts_oci_container/index.js');
|
|
options = getOciContainerConfig();
|
|
console.log('[DCRouter] Starting in OCI Container mode...');
|
|
}
|
|
|
|
const dcRouter = new DcRouter(options);
|
|
await dcRouter.start();
|
|
console.log('[DCRouter] Running. Send SIGTERM or SIGINT to stop.');
|
|
|
|
const shutdown = async () => {
|
|
console.log('[DCRouter] Shutting down...');
|
|
await dcRouter.stop();
|
|
process.exit(0);
|
|
};
|
|
process.on('SIGINT', shutdown);
|
|
process.on('SIGTERM', shutdown);
|
|
};
|