@@ -4,9 +4,13 @@ const promiseRetry = require('promise-retry');
44const logger = require ( 'cf-logs' ) . Logger ( 'codefresh:containerLogger' ) ;
55const CFError = require ( 'cf-errors' ) ;
66const { Transform } = require ( 'stream' ) ;
7+
78const _ = require ( 'lodash' ) ;
89const { LoggerStrategy } = require ( './enums' ) ;
910
11+ // eslint-disable-next-line import/no-unresolved
12+ const { DeprecatedImagesInterceptorStream } = require ( './metric/deprecated-images/deprecated-images-interceptor.stream' ) ;
13+
1014const CONTAINER_START_RETRY_TIMEOUT_SECONDS = 1 ;
1115const CONTAINER_START_RETRY_LIMIT = 10 ;
1216const BUFFER_SIZE = 2 * 1024 * 1024 ; // 2 MiB
@@ -131,6 +135,7 @@ class ContainerLogger extends EventEmitter {
131135 // { end = false } on the stepLoggerWritableStream because there is only one instance of it for all the steps.
132136 this . handledStreams ++ ;
133137 let stdoutStream = stdout
138+ . pipe ( new DeprecatedImagesInterceptorStream ( ) )
134139 . pipe ( this . _logSizeLimitStream ( ) )
135140 . pipe ( this . stepLogger . createMaskingStream ( ) ) ;
136141
@@ -148,6 +153,7 @@ class ContainerLogger extends EventEmitter {
148153
149154 this . handledStreams ++ ;
150155 let stderrStream = stderr
156+ . pipe ( new DeprecatedImagesInterceptorStream ( ) )
151157 . pipe ( this . _logSizeLimitStream ( ) )
152158 . pipe ( this . _errorTransformerStream ( ) )
153159 . pipe ( this . stepLogger . createMaskingStream ( ) ) ;
@@ -180,27 +186,38 @@ class ContainerLogger extends EventEmitter {
180186
181187 _handleTtyStream ( stream , isError ) {
182188 this . handledStreams ++ ;
183- stream . on ( 'end' , this . _handleFinished . bind ( this ) ) ;
189+ const deprecatedImagesInterceptor = new DeprecatedImagesInterceptorStream ( true ) ;
190+ stream . on ( 'end' , ( ) => {
191+ this . _handleFinished ( ) ;
192+ deprecatedImagesInterceptor . end ( ) ;
193+ } ) ;
184194 stream . on ( 'data' , ( chunk ) => {
195+ deprecatedImagesInterceptor . write ( chunk ) ;
185196 this . _logMessage ( Buffer . from ( chunk ) . toString ( 'utf-8' ) , isError ) ;
186197 } ) ;
187198 logger . info ( `Listening on stream 'data' event for container: ${ this . containerId } ` ) ;
188199 }
189200
190201 _handleNonTtyStream ( stream , isError ) {
191202 this . handledStreams ++ ;
203+ const deprecatedImagesInterceptor = new DeprecatedImagesInterceptorStream ( true ) ;
192204 stream . on ( 'readable' , ( ) => {
193205 let header = stream . read ( 8 ) ;
194206 while ( header !== null ) {
207+ deprecatedImagesInterceptor . write ( header ) ;
195208 const payload = stream . read ( header . readUInt32BE ( 4 ) ) ;
196209 if ( payload === null ) {
197210 break ;
198211 }
212+ deprecatedImagesInterceptor . write ( payload ) ;
199213 this . _logMessage ( Buffer . from ( payload ) . toString ( 'utf8' ) , isError ) ;
200214 header = stream . read ( 8 ) ;
201215 }
202216 } ) ;
203- stream . on ( 'end' , this . _handleFinished . bind ( this ) ) ;
217+ stream . on ( 'end' , ( ) => {
218+ this . _handleFinished ( ) ;
219+ deprecatedImagesInterceptor . end ( ) ;
220+ } ) ;
204221 logger . info ( `Listening on stream 'readable' event for container: ${ this . containerId } ` ) ;
205222 }
206223
0 commit comments