@@ -3,13 +3,13 @@ const Q = require('q');
3
3
const promiseRetry = require ( 'promise-retry' ) ;
4
4
const logger = require ( 'cf-logs' ) . Logger ( 'codefresh:containerLogger' ) ;
5
5
const CFError = require ( 'cf-errors' ) ;
6
- const { Transform, PassThrough } = require ( 'stream' ) ;
6
+ const { Transform } = require ( 'stream' ) ;
7
7
8
8
const _ = require ( 'lodash' ) ;
9
9
const { LoggerStrategy } = require ( './enums' ) ;
10
10
11
11
// eslint-disable-next-line import/no-unresolved
12
- const deprecatedImagesCollector = require ( './metric/deprecated-images/deprecated-images.collector' ) . default ;
12
+ const { DeprecatedImagesInterceptorStream } = require ( './metric/deprecated-images/deprecated-images-interceptor.stream' ) ;
13
13
14
14
const CONTAINER_START_RETRY_TIMEOUT_SECONDS = 1 ;
15
15
const CONTAINER_START_RETRY_LIMIT = 10 ;
@@ -78,9 +78,10 @@ class ContainerLogger extends EventEmitter {
78
78
79
79
this . _registerToTtyStreams ( stdout , stderr ) ;
80
80
} else {
81
- // TODO: parse deprecated images here
81
+ stdout = stdout . pipe ( new DeprecatedImagesInterceptorStream ( ) ) ;
82
82
this . _handleNonTtyStream ( stdout , false ) ;
83
83
if ( stderr ) {
84
+ stderr = stderr . pipe ( new DeprecatedImagesInterceptorStream ( ) ) ;
84
85
this . _handleNonTtyStream ( stderr , true ) ;
85
86
}
86
87
}
@@ -136,7 +137,7 @@ class ContainerLogger extends EventEmitter {
136
137
// { end = false } on the stepLoggerWritableStream because there is only one instance of it for all the steps.
137
138
this . handledStreams ++ ;
138
139
let stdoutStream = stdout
139
- . pipe ( this . _interceptDeprecatedImagesStream ( ) )
140
+ . pipe ( new DeprecatedImagesInterceptorStream ( ) )
140
141
. pipe ( this . _logSizeLimitStream ( ) )
141
142
. pipe ( this . stepLogger . createMaskingStream ( ) ) ;
142
143
@@ -154,7 +155,7 @@ class ContainerLogger extends EventEmitter {
154
155
155
156
this . handledStreams ++ ;
156
157
let stderrStream = stderr
157
- . pipe ( this . _interceptDeprecatedImagesStream ( ) )
158
+ . pipe ( new DeprecatedImagesInterceptorStream ( ) )
158
159
. pipe ( this . _logSizeLimitStream ( ) )
159
160
. pipe ( this . _errorTransformerStream ( ) )
160
161
. pipe ( this . stepLogger . createMaskingStream ( ) ) ;
@@ -174,9 +175,11 @@ class ContainerLogger extends EventEmitter {
174
175
}
175
176
176
177
_registerToTtyStreams ( stdout , stderr ) {
178
+ stdout = stdout . pipe ( new DeprecatedImagesInterceptorStream ( ) ) ;
177
179
this . _handleTtyStream ( stdout , false ) ;
178
180
179
181
if ( stderr ) {
182
+ stderr = stderr . pipe ( new DeprecatedImagesInterceptorStream ( ) ) ;
180
183
stderr . once ( 'end' , ( ) => {
181
184
this . stepFinished = true ;
182
185
logger . info ( `stderr end event was fired for container: ${ this . containerId } ` ) ;
@@ -189,9 +192,7 @@ class ContainerLogger extends EventEmitter {
189
192
this . handledStreams ++ ;
190
193
stream . on ( 'end' , this . _handleFinished . bind ( this ) ) ;
191
194
stream . on ( 'data' , ( chunk ) => {
192
- const message = Buffer . from ( chunk ) . toString ( 'utf-8' ) ;
193
- deprecatedImagesCollector . catchDeprecatedImage ( message ) ;
194
- this . _logMessage ( message , isError ) ;
195
+ this . _logMessage ( Buffer . from ( chunk ) . toString ( 'utf-8' ) , isError ) ;
195
196
} ) ;
196
197
logger . info ( `Listening on stream 'data' event for container: ${ this . containerId } ` ) ;
197
198
}
@@ -242,11 +243,6 @@ class ContainerLogger extends EventEmitter {
242
243
this . emit ( 'message.logged' , curLogSize ) ;
243
244
}
244
245
245
- _interceptDeprecatedImagesStream ( ) {
246
- return new PassThrough ( )
247
- . on ( 'data' , ( chunk ) => deprecatedImagesCollector . catchDeprecatedImage ( chunk . toString ( 'utf8' ) ) ) ;
248
- }
249
-
250
246
_errorTransformerStream ( ) {
251
247
return new Transform ( {
252
248
transform : ( data , encoding , done ) => {
0 commit comments