mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-02-15 23:42:13 +00:00
Also add integration tests for the resolver functionality to prevent regressions. Change-type: patch
32 lines
994 B
TypeScript
32 lines
994 B
TypeScript
import { set } from '@balena/es-version';
|
|
// Set the desired es version for downstream modules that support it, before we import any
|
|
set('es2022');
|
|
|
|
import { setDefaultAutoSelectFamilyAttemptTimeout } from 'net';
|
|
// Increase the timeout for the happy eyeballs algorithm to 5000ms to avoid issues on slower networks
|
|
setDefaultAutoSelectFamilyAttemptTimeout(5000);
|
|
|
|
// Setup MDNS resolution
|
|
import './mdns';
|
|
|
|
import Supervisor from './supervisor';
|
|
import process from 'process';
|
|
import log from './lib/supervisor-console';
|
|
|
|
// Register signal handlers before starting the supervisor service
|
|
process.on('SIGTERM', () => {
|
|
log.info('Received SIGTERM. Exiting.');
|
|
|
|
// This is standard exit code to indicate a graceful shutdown
|
|
// it equals 128 + 15 (the signal code)
|
|
process.exit(143);
|
|
});
|
|
|
|
const supervisor = new Supervisor();
|
|
supervisor.init().catch((e) => {
|
|
log.error('Uncaught exception:', e);
|
|
|
|
// Terminate the process to avoid leaving the supervisor in a bad state
|
|
process.exit(1);
|
|
});
|