File tree Expand file tree Collapse file tree 5 files changed +26
-2
lines changed Expand file tree Collapse file tree 5 files changed +26
-2
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ require('@codefresh-io/cf-telemetry/init');
33// ↓ Keep one blank line below to prevent automatic import reordering
44
55const { Logger } = require ( '@codefresh-io/cf-telemetry/logs' ) ;
6- const { getServerAddress } = require ( './helpers' ) ;
6+ const { getServerAddress, registerExitHandlers } = require ( './helpers' ) ;
77
88const logger = new Logger ( 'codefresh:containerLogger:addNewMask' ) ;
99
@@ -55,6 +55,8 @@ async function updateMasks(secret) {
5555}
5656
5757if ( require . main === module ) {
58+ registerExitHandlers ( ) ;
59+
5860 // first argument is the secret key second argument is the secret value
5961 if ( process . argv . length < 4 ) {
6062 logger . log ( 'not enough arguments, need secret key and secret value' ) ;
Original file line number Diff line number Diff line change @@ -55,6 +55,20 @@ const getServerAddress = async () => {
5555 }
5656} ;
5757
58+ /**
59+ * As `@codefresh-io/cf-telemetry/init` changes the original node.js behavior of how SIGTERM and SIGINT
60+ * signals are handled, we revert this change back to the original node.js behavior.
61+ */
62+ const registerExitHandlers = ( ) => {
63+ process . on ( 'SIGTERM' , ( ) => {
64+ process . exit ( 143 ) ; // default exit code for SIGTERM
65+ } ) ;
66+
67+ process . on ( 'SIGINT' , ( ) => {
68+ process . exit ( 130 ) ; // default exit code for SIGINT
69+ } ) ;
70+ } ;
71+
5872module . exports = {
5973 /**
6074 * Polyfill of `Promise.withResolvers`, TC39 Stage 4 proposal.
@@ -64,4 +78,5 @@ module.exports = {
6478 watchForBuildFinishedSignal,
6579 saveServerAddress,
6680 getServerAddress,
81+ registerExitHandlers,
6782} ;
Original file line number Diff line number Diff line change @@ -4,6 +4,9 @@ require('@codefresh-io/cf-telemetry/init');
44
55const otel = require ( '@codefresh-io/cf-telemetry/otel' ) ;
66const { Logger : Logs } = require ( '@codefresh-io/cf-telemetry/logs' ) ;
7+ const { watchForBuildFinishedSignal, registerExitHandlers } = require ( './helpers' ) ;
8+
9+ registerExitHandlers ( ) ;
710
811const logs = new Logs ( 'codefresh:containerLogger:index' ) ;
912
@@ -17,7 +20,6 @@ const unhandledErrorsTotal = otel.cf.getMeter().createCounter(
1720) ;
1821
1922const Logger = require ( './logger' ) ;
20- const { watchForBuildFinishedSignal } = require ( './helpers' ) ;
2123
2224const taskLoggerConfig = JSON . parse ( process . env . TASK_LOGGER_CONFIG ) ;
2325
Original file line number Diff line number Diff line change @@ -6,6 +6,9 @@ const { readFileSync } = require('fs');
66const _ = require ( 'lodash' ) ;
77const { Logger } = require ( '@codefresh-io/cf-telemetry/logs' ) ;
88const { ContainerHandlingStatus } = require ( './enums' ) ;
9+ const { registerExitHandlers } = require ( './helpers' ) ;
10+
11+ registerExitHandlers ( ) ;
912
1013const logger = new Logger ( 'codefresh:containerLogger:isReady' ) ;
1114
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ const path = require('path');
77const Q = require ( 'q' ) ;
88const { Logger } = require ( '@codefresh-io/cf-telemetry/logs' ) ;
99const { BuildFinishedSignalFilename } = require ( './enums' ) ;
10+ const { registerExitHandlers } = require ( './helpers' ) ;
1011
1112const logger = new Logger ( 'codefresh:containerLogger:waitUntilFinish' ) ;
1213
@@ -87,6 +88,7 @@ class Waiter {
8788}
8889
8990if ( require . main === module ) {
91+ registerExitHandlers ( ) ;
9092 const filepath = path . resolve ( __dirname , 'state.json' ) ;
9193 Waiter . wait ( filepath ) ;
9294} else {
You can’t perform that action at this time.
0 commit comments