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');
3
3
// ↓ Keep one blank line below to prevent automatic import reordering
4
4
5
5
const { Logger } = require ( '@codefresh-io/cf-telemetry/logs' ) ;
6
- const { getServerAddress } = require ( './helpers' ) ;
6
+ const { getServerAddress, registerExitHandlers } = require ( './helpers' ) ;
7
7
8
8
const logger = new Logger ( 'codefresh:containerLogger:addNewMask' ) ;
9
9
@@ -55,6 +55,8 @@ async function updateMasks(secret) {
55
55
}
56
56
57
57
if ( require . main === module ) {
58
+ registerExitHandlers ( ) ;
59
+
58
60
// first argument is the secret key second argument is the secret value
59
61
if ( process . argv . length < 4 ) {
60
62
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 () => {
55
55
}
56
56
} ;
57
57
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
+
58
72
module . exports = {
59
73
/**
60
74
* Polyfill of `Promise.withResolvers`, TC39 Stage 4 proposal.
@@ -64,4 +78,5 @@ module.exports = {
64
78
watchForBuildFinishedSignal,
65
79
saveServerAddress,
66
80
getServerAddress,
81
+ registerExitHandlers,
67
82
} ;
Original file line number Diff line number Diff line change @@ -4,6 +4,9 @@ require('@codefresh-io/cf-telemetry/init');
4
4
5
5
const otel = require ( '@codefresh-io/cf-telemetry/otel' ) ;
6
6
const { Logger : Logs } = require ( '@codefresh-io/cf-telemetry/logs' ) ;
7
+ const { watchForBuildFinishedSignal, registerExitHandlers } = require ( './helpers' ) ;
8
+
9
+ registerExitHandlers ( ) ;
7
10
8
11
const logs = new Logs ( 'codefresh:containerLogger:index' ) ;
9
12
@@ -17,7 +20,6 @@ const unhandledErrorsTotal = otel.cf.getMeter().createCounter(
17
20
) ;
18
21
19
22
const Logger = require ( './logger' ) ;
20
- const { watchForBuildFinishedSignal } = require ( './helpers' ) ;
21
23
22
24
const taskLoggerConfig = JSON . parse ( process . env . TASK_LOGGER_CONFIG ) ;
23
25
Original file line number Diff line number Diff line change @@ -6,6 +6,9 @@ const { readFileSync } = require('fs');
6
6
const _ = require ( 'lodash' ) ;
7
7
const { Logger } = require ( '@codefresh-io/cf-telemetry/logs' ) ;
8
8
const { ContainerHandlingStatus } = require ( './enums' ) ;
9
+ const { registerExitHandlers } = require ( './helpers' ) ;
10
+
11
+ registerExitHandlers ( ) ;
9
12
10
13
const logger = new Logger ( 'codefresh:containerLogger:isReady' ) ;
11
14
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ const path = require('path');
7
7
const Q = require ( 'q' ) ;
8
8
const { Logger } = require ( '@codefresh-io/cf-telemetry/logs' ) ;
9
9
const { BuildFinishedSignalFilename } = require ( './enums' ) ;
10
+ const { registerExitHandlers } = require ( './helpers' ) ;
10
11
11
12
const logger = new Logger ( 'codefresh:containerLogger:waitUntilFinish' ) ;
12
13
@@ -87,6 +88,7 @@ class Waiter {
87
88
}
88
89
89
90
if ( require . main === module ) {
91
+ registerExitHandlers ( ) ;
90
92
const filepath = path . resolve ( __dirname , 'state.json' ) ;
91
93
Waiter . wait ( filepath ) ;
92
94
} else {
You can’t perform that action at this time.
0 commit comments