@@ -197,17 +197,19 @@ func (l *lifecycleEventRecorderImpl) ConsoleAttach(ctx context.Context, csl *Con
197197
198198func (l * lifecycleEventRecorderImpl ) ConsoleTerminate (ctx context.Context , csl * Console , timedOut bool , pod * corev1.Pod ) error {
199199 containerStatuses := make (map [string ]string )
200+ exitCodes := make (map [string ]int32 )
200201 if pod != nil {
201- appendStatusMessages (containerStatuses , pod .Status .InitContainerStatuses )
202- appendStatusMessages (containerStatuses , pod .Status .ContainerStatuses )
203- appendStatusMessages (containerStatuses , pod .Status .EphemeralContainerStatuses )
202+ appendStatusMessages (containerStatuses , exitCodes , pod .Status .InitContainerStatuses )
203+ appendStatusMessages (containerStatuses , exitCodes , pod .Status .ContainerStatuses )
204+ appendStatusMessages (containerStatuses , exitCodes , pod .Status .EphemeralContainerStatuses )
204205 }
205206
206207 event := & events.ConsoleTerminatedEvent {
207208 CommonEvent : l .makeConsoleCommonEvent (events .EventTerminated , csl ),
208209 Spec : events.ConsoleTerminatedSpec {
209210 TimedOut : timedOut ,
210211 ContainerStatuses : containerStatuses ,
212+ ExitCodes : exitCodes ,
211213 },
212214 }
213215
@@ -222,7 +224,7 @@ func (l *lifecycleEventRecorderImpl) ConsoleTerminate(ctx context.Context, csl *
222224 return nil
223225}
224226
225- func appendStatusMessages (result map [string ]string , containerStatuses []corev1.ContainerStatus ) {
227+ func appendStatusMessages (containerStatusResult map [string ]string , exitCodeResult map [ string ] int32 , containerStatuses []corev1.ContainerStatus ) {
226228 if containerStatuses == nil {
227229 return
228230 }
@@ -241,7 +243,8 @@ func appendStatusMessages(result map[string]string, containerStatuses []corev1.C
241243 if s .Message != "" {
242244 message .WriteString (fmt .Sprintf (". Message: %s" , s .Message ))
243245 }
244- result [containerStatus .Name ] = message .String ()
246+ containerStatusResult [containerStatus .Name ] = message .String ()
247+ exitCodeResult [containerStatus .Name ] = s .ExitCode
245248 } else if containerStatus .State .Waiting != nil {
246249 s := containerStatus .State .Waiting
247250 var message strings.Builder
@@ -252,7 +255,7 @@ func appendStatusMessages(result map[string]string, containerStatuses []corev1.C
252255 if s .Message != "" {
253256 message .WriteString (fmt .Sprintf (" Message: %s" , s .Message ))
254257 }
255- result [containerStatus .Name ] = message .String ()
258+ containerStatusResult [containerStatus .Name ] = message .String ()
256259 }
257260 }
258261}
0 commit comments